deployment: add proof archive bucket name to env gateway overlays #2251
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Sequencer CdK8s Dry Test | |
| on: | |
| pull_request: | |
| types: | |
| - opened | |
| - reopened | |
| - edited | |
| - synchronize | |
| paths: | |
| - ".github/workflows/sequencer_cdk8s-test.yml" | |
| - "crates/apollo_deployments/**" | |
| - "deployments/sequencer/**" | |
| - "deployments/anvil/**" | |
| - "deployments/dummy_eth2strk_oracle/**" | |
| - "deployments/dummy_recorder/**" | |
| jobs: | |
| # https://graphite.com/docs/stacking-and-ci | |
| optimize_ci: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 60 | |
| outputs: | |
| skip: ${{ steps.check_skip.outputs.skip }} | |
| steps: | |
| - name: Optimize CI | |
| id: check_skip | |
| uses: withgraphite/graphite-ci-action@v0.0.9 | |
| with: | |
| graphite_token: ${{ secrets.GRAPHITE_CI_OPTIMIZER_TOKEN }} | |
| prepare: | |
| runs-on: ubuntu-24.04 | |
| needs: optimize_ci | |
| if: needs.optimize_ci.outputs.skip == 'false' | |
| timeout-minutes: 60 | |
| env: | |
| cluster: test | |
| namespace: test | |
| layout: hybrid | |
| overlay: hybrid.testing.node-0 | |
| overlay2: hybrid.testing.all-constructs | |
| monitoring_dashboard_file: ${{ github.workspace }}/deployments/monitoring/examples/output/dashboards/sequencer_node_dashboard.json | |
| cdk8s_sequencer_path: ${{ github.workspace }}/deployments/sequencer | |
| steps: | |
| - name: Checkout sequencer | |
| uses: actions/checkout@v6 | |
| - name: Setup python | |
| uses: actions/setup-python@v5.4.0 | |
| with: | |
| python-version: "3.10" | |
| cache: "pip" | |
| - name: Setup Node | |
| uses: actions/setup-node@v4.2.0 | |
| with: | |
| node-version: 22 | |
| - name: Install pip dependencies | |
| run: python3 -m pip install black pipenv | |
| - name: Install cdk8s-cli | |
| run: npm install -g cdk8s-cli@2.198.334 | |
| # Synthesize the CDK8s Sequencer app. | |
| - name: CDk8s synth | |
| working-directory: ${{ env.cdk8s_sequencer_path }} | |
| run: | | |
| echo "Importing CDK8s Sequencer app..." | |
| cdk8s import | |
| echo "Installing pip dependencies..." | |
| pipenv install | |
| echo "Running port uniqueness tests..." | |
| pipenv run pytest test/test_port_uniqueness.py -v | |
| echo "Synthesizing CDK8s Sequencer app with overlay ${{ env.overlay }}..." | |
| cdk8s synth --app "pipenv run python -m main --namespace ${{ env.namespace }} -l ${{ env.layout }} -o ${{ env.overlay }} --monitoring-dashboard-file ${{ env.monitoring_dashboard_file }} --cluster ${{ env.cluster }}" --output dist1 | |
| echo "Synthesizing CDK8s Sequencer app with overlay ${{ env.overlay2 }}..." | |
| cdk8s synth --app "pipenv run python -m main --namespace ${{ env.namespace }} -l ${{ env.layout }} -o ${{ env.overlay2 }} --monitoring-dashboard-file ${{ env.monitoring_dashboard_file }} --cluster ${{ env.cluster }}" --output dist2 | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cdk8s-artifacts | |
| path: | | |
| ${{ env.cdk8s_sequencer_path }}/dist1 | |
| ${{ env.cdk8s_sequencer_path }}/dist2 | |
| ${{ env.cdk8s_sequencer_path }}/resources | |
| validate: | |
| runs-on: ubuntu-24.04 | |
| needs: [prepare, optimize_ci] | |
| if: success() && needs.optimize_ci.outputs.skip == 'false' | |
| timeout-minutes: 60 | |
| env: | |
| dist1_path: ./cdk8s-artifacts/dist1 | |
| dist2_path: ./cdk8s-artifacts/dist2 | |
| crds_path: ./cdk8s-artifacts/resources/crds | |
| steps: | |
| - name: Setup go lang | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "stable" | |
| - name: Setup kubectl-validate | |
| run: go install sigs.k8s.io/kubectl-validate@latest | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: cdk8s-artifacts | |
| path: cdk8s-artifacts | |
| merge-multiple: true | |
| - name: kubectl validation test for version 1.33 | |
| run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.33 | |
| continue-on-error: false | |
| - name: kubectl validation test for version 1.34 | |
| run: kubectl validate ${{ env.dist1_path }} ${{ env.dist2_path }} --local-crds ${{ env.crds_path }} --version 1.34 | |
| continue-on-error: false | |
| prepare-production-overlays: | |
| runs-on: ubuntu-24.04 | |
| needs: optimize_ci | |
| if: needs.optimize_ci.outputs.skip == 'false' | |
| timeout-minutes: 60 | |
| env: | |
| cdk8s_sequencer_path: ${{ github.workspace }}/deployments/sequencer | |
| steps: | |
| - name: Checkout sequencer | |
| uses: actions/checkout@v6 | |
| - name: Setup python | |
| uses: actions/setup-python@v5.4.0 | |
| with: | |
| python-version: "3.10" | |
| cache: "pip" | |
| - name: Setup Node | |
| uses: actions/setup-node@v4.2.0 | |
| with: | |
| node-version: 22 | |
| - name: Install pip dependencies | |
| run: python3 -m pip install black pipenv | |
| - name: Install cdk8s-cli | |
| run: npm install -g cdk8s-cli@2.198.334 | |
| - name: CDK8s synth production overlays | |
| working-directory: ${{ env.cdk8s_sequencer_path }} | |
| run: | | |
| cdk8s import | |
| pipenv install | |
| for overlay_prefix in mainnet sepolia-alpha sepolia-integration; do | |
| echo "Synthesizing hybrid.${overlay_prefix}..." | |
| cdk8s synth --app "pipenv run python -m main --namespace test -l hybrid -o hybrid.${overlay_prefix} -o hybrid.common.dummy_for_testing" --output dist | |
| done | |
| prepare-dummy-services: | |
| runs-on: ubuntu-24.04 | |
| needs: optimize_ci | |
| if: needs.optimize_ci.outputs.skip == 'false' | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| service: [anvil, dummy_eth2strk_oracle, dummy_recorder] | |
| env: | |
| namespace: test | |
| service_path: ${{ github.workspace }}/deployments/${{ matrix.service }} | |
| steps: | |
| - name: Checkout sequencer | |
| uses: actions/checkout@v6 | |
| - name: Setup python | |
| uses: actions/setup-python@v5.4.0 | |
| with: | |
| python-version: "3.10" | |
| cache: "pip" | |
| - name: Setup Node | |
| uses: actions/setup-node@v4.2.0 | |
| with: | |
| node-version: 22 | |
| - name: Install pip dependencies | |
| run: python3 -m pip install black pipenv | |
| - name: Install cdk8s-cli | |
| run: npm install -g cdk8s-cli@2.198.334 | |
| - name: CDK8s synth | |
| working-directory: ${{ env.service_path }} | |
| run: | | |
| echo "Importing CDK8s ${{ matrix.service }} app..." | |
| cdk8s import | |
| echo "Installing pip dependencies..." | |
| pipenv install | |
| echo "Synthesizing CDK8s ${{ matrix.service }} app..." | |
| cdk8s synth --app "pipenv run python -m main --namespace ${{ env.namespace }}" | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: cdk8s-${{ matrix.service }}-artifacts | |
| path: ${{ env.service_path }}/dist | |
| validate-dummy-services: | |
| runs-on: ubuntu-24.04 | |
| needs: [prepare-dummy-services, optimize_ci] | |
| if: success() && needs.optimize_ci.outputs.skip == 'false' | |
| timeout-minutes: 60 | |
| strategy: | |
| matrix: | |
| service: [anvil, dummy_eth2strk_oracle, dummy_recorder] | |
| steps: | |
| - name: Setup go lang | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "stable" | |
| - name: Setup kubectl-validate | |
| run: go install sigs.k8s.io/kubectl-validate@latest | |
| - name: Download artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: cdk8s-${{ matrix.service }}-artifacts | |
| path: dist | |
| - name: kubectl validation test for version 1.33 | |
| run: kubectl validate ./dist --version 1.33 | |
| continue-on-error: false | |
| - name: kubectl validation test for version 1.34 | |
| run: kubectl validate ./dist --version 1.34 | |
| continue-on-error: false |