Skip to content

apollo_dashboard: add storage section #29027

apollo_dashboard: add storage section

apollo_dashboard: add storage section #29027

name: Sequencer-Docker-Test
on:
workflow_dispatch:
push:
branches:
- main
- main-v[0-9].**
tags:
- v[0-9].**
pull_request:
env:
crate_triggers: "apollo_node,apollo_dashboard,apollo_integration_tests"
path_triggers: ".github/workflows/sequencer_docker-test.yml,scripts/*.py,scripts/system_tests/**/*.py"
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.job }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
jobs:
check-docker-test-trigger:
runs-on: starkware-ubuntu-24.04-small
outputs:
should_run: ${{ steps.docker_check.outputs.should_run }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
id: setup-pypy
with:
python-version: "pypy3.9"
cache: "pip"
- run: pip install -r scripts/requirements.txt
- name: Check for docker-test-triggering changes
id: docker_check
run: |
echo "Checking if any docker-test-triggering crates were modified"
OUTPUT_FILE=$(mktemp)
python ./scripts/check_test_trigger.py --output_file $OUTPUT_FILE \
--commit_id ${{ github.event.pull_request.base.sha }} \
--crate_triggers ${{ env.crate_triggers }} \
--path_triggers ${{ env.path_triggers }}
should_run=$(cat "$OUTPUT_FILE")
echo "Captured output: $should_run"
echo "should_run=$should_run" >> $GITHUB_OUTPUT
sequencer_docker_compose_test:
needs: check-docker-test-trigger
if: needs.check-docker-test-trigger.outputs.should_run == 'true'
runs-on: starkware-ubuntu-24.04-large
env:
MONITORING_ENABLED: false
SIMULATOR_RUN_FOREVER: false
FOLLOW_LOGS: false
SIMULATOR_TIMEOUT: 300
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Not required but recommended - enables build multi-platform images, export cache, etc
# Also workaround for: https://github.com/docker/build-push-action/issues/461
# https://github.com/docker/setup-buildx-action
- name: Setup Docker buildx
uses: docker/setup-buildx-action@v2.2.1
- name: Run docker compose
run: ./deployments/monitoring/deploy_local_stack.sh up -d --build
# Getting the sequencer_simulator container id, then
# Invoking `docker wait $container_id`.
# docker wait will return the container exit_code.
- name: Wait for simulator results
working-directory: ./deployments/monitoring/local
timeout-minutes: 5
run: |
simulator_id=$(docker compose ps -q sequencer_simulator 2>/dev/null)
exit_code=$(docker wait $simulator_id)
if (( $exit_code == 0 )); then
echo "✅ Simulator test succeeded. exit_code=$exit_code"
else
echo "❌ Simulator test failed. exit_code=$exit_code"
exit $exit_code
fi
# Printing all services logs separately. Makes it more readable later.
- name: Print sequencer_node_setup logs
if: always()
working-directory: ./deployments/monitoring/local
run: docker compose logs sequencer_node_setup
- name: Print dummy_recorder logs
if: always()
working-directory: ./deployments/monitoring/local
run: docker compose logs dummy_recorder
- name: Print dummy_eth_to_strk_oracle logs
if: always()
working-directory: ./deployments/monitoring/local
run: docker compose logs dummy_eth_to_strk_oracle
- name: Print config_injector logs
if: always()
working-directory: ./deployments/monitoring/local
run: docker compose logs config_injector
- name: Print sequencer_node logs
if: always()
working-directory: ./deployments/monitoring/local
run: docker compose logs sequencer_node
- name: Print sequencer_simulator logs
if: always()
working-directory: ./deployments/monitoring/local
run: docker compose logs sequencer_simulator
# Shutting down all containers and cleaning volumes.
- name: Cleanup
if: always()
run: ./deployments/monitoring/deploy_local_stack.sh down -v