feat(nightly): refuse to run the harness against a stale sei-chain im… #609
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: ECR | |
| on: | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| inputs: | |
| tag: | |
| description: "Image tag (defaults to git sha)" | |
| required: false | |
| permissions: | |
| id-token: write | |
| contents: read | |
| jobs: | |
| publish: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: aws-actions/configure-aws-credentials@v4 | |
| with: | |
| role-to-assume: arn:aws:iam::189176372795:role/common/gha | |
| role-duration-seconds: 900 | |
| aws-region: us-east-2 | |
| - id: ecr-login | |
| uses: aws-actions/amazon-ecr-login@v2 | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build and push controller image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: true | |
| platforms: linux/amd64 | |
| tags: ${{ steps.ecr-login.outputs.registry }}/sei/sei-k8s-controller:${{ inputs.tag || github.sha }} | |
| cache-from: type=registry,ref=${{ steps.ecr-login.outputs.registry }}/sei/build-cache:shared | |
| cache-to: type=registry,ref=${{ steps.ecr-login.outputs.registry }}/sei/build-cache:shared,mode=max | |
| # The integration test suite compiled to an image (go test -c -tags | |
| # integration), run by one nightly CronJob per target (-test.run TestX). | |
| - name: Build and push integration-harness image | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: test/integration/Dockerfile | |
| push: true | |
| platforms: linux/amd64 | |
| tags: ${{ steps.ecr-login.outputs.registry }}/sei/integration-harness:${{ inputs.tag || github.sha }} | |
| # Dedicated cache ref (NOT the shared one the controller image uses): | |
| # this is a test-image build over the whole test tree, so isolating its | |
| # cache keeps a poisoned test-build layer out of the production | |
| # controller image's build. | |
| cache-from: type=registry,ref=${{ steps.ecr-login.outputs.registry }}/sei/build-cache:integration-harness | |
| cache-to: type=registry,ref=${{ steps.ecr-login.outputs.registry }}/sei/build-cache:integration-harness,mode=max |