Skip to content

Commit

Permalink
feat: push completed image
Browse files Browse the repository at this point in the history
  • Loading branch information
turadg committed Nov 3, 2023
1 parent 723f8e5 commit a7b5f23
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 3 deletions.
27 changes: 25 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,13 @@ concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

env:
REGISTRY: ghcr.io
LATEST_TAG: ghcr.io/agoric/agoric-3-proposals:latest

jobs:
test-proposals:
# see https://docs.docker.com/build/ci/github-actions/test-before-push/
tests-proposals:
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
Expand All @@ -29,12 +34,30 @@ jobs:
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
echo "=== After cleanup:"
df -h
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
registry: ${{ env.REGISTRY }}
# The .ts scripts depend upon this
- run: yarn global add tsx
- name: build test images
run: ./buildTestImages.ts
- name: run test images
run: ./runTestImages.ts
# this should be fast because all the stages were already built
- name: Build and push complete image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ env.LATEST_TAG }}
- name: notify on failure
if: failure() && github.event_name != 'pull_request'
uses: ./.github/actions/notify-status
Expand Down
4 changes: 3 additions & 1 deletion makeDockerfile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -166,8 +166,10 @@ for (const proposal of readProposals()) {
blocks.push(stage.EXECUTE(proposal));
}

blocks.push(stage.USE(proposal));
// TEST depends on USE but define it first but Docker can resolve the dependencies in any order.
blocks.push(stage.TEST(proposal));
// Put USE last so that the last proposal is the default target to build.
blocks.push(stage.USE(proposal));
previousProposal = proposal;
}

Expand Down

0 comments on commit a7b5f23

Please sign in to comment.