Skip to content

Commit

Permalink
Add container image build to CI
Browse files Browse the repository at this point in the history
  • Loading branch information
DanNixon committed Jan 16, 2025
1 parent a41ceca commit e614416
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,27 @@ jobs:

- name: Build
run: nix build --print-build-logs

- name: Build and push container image
if: ${{ github.ref_name == 'main' || github.ref_type == 'tag' }}
run: |
set -x
# Build image via Nix and take the resulting path as the local container registry
local_cr="docker-archive://$(nix build .#container-image --no-link --print-out-paths)"
# The container registry to push images to (GHCR)
remote_cr="docker://ghcr.io/dannixon/git-collage"
remote_cr_creds="${{ github.repository_owner }}:${{ github.token }}"
# Push image using the Git ref name as the image tag (i.e. "main" or the tag name)
skopeo copy --dest-creds="$remote_cr_creds" "$local_cr" "$remote_cr:${{ github.ref_name }}"
# Push image using the Git SHA as the image tag
skopeo copy --dest-creds="$remote_cr_creds" "$local_cr" "$remote_cr:${{ github.sha }}"
# If the trigger was a tag (i.e. a release)
if [[ "${{ github.ref_type }}" == 'tag' ]]; then
# Push image using the "latest" tag
skopeo copy --dest-creds="$remote_cr_creds" "$local_cr" "$remote_cr:latest"
fi

0 comments on commit e614416

Please sign in to comment.