Skip to content

Bump mozilla-it/deploy-actions in the all-dependencies group #775

Bump mozilla-it/deploy-actions in the all-dependencies group

Bump mozilla-it/deploy-actions in the all-dependencies group #775

name: Build, test and push a Docker image
on:
push:
branches:
- main
tags:
- v20[0-9][0-9].[01][0-9].[0-3][0-9] # e.g. v2023.12.04
- v20[0-9][0-9].[01][0-9].[0-3][0-9]-[0-9] # e.g. v2023.12.04-2
pull_request:
branches:
- main
merge_group:
jobs:
build:
permissions:
contents: read
id-token: write
runs-on: ubuntu-24.04
env:
# Disable docker compose volume mounts in docker-compose.override.yml
COMPOSE_FILE: docker-compose.yml
steps:
- uses: actions/checkout@v6
- name: Get info
run: |
uname -v
docker info
- name: Create version.json
run: |
# create a version.json per
# https://github.com/mozilla-services/Dockerflow/blob/master/docs/version_object.md
printf '{"commit":"%s","version":"%s","source":"%s","build":"%s"}\n' \
"$GITHUB_SHA" \
"$GITHUB_REF_NAME" \
"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY" \
"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID" > version.json
- name: Output version.json
run: cat version.json
- name: Install just
run: sudo apt-get update && sudo apt-get install -y just
- name: Build Docker images
run: just build
- name: Run lint check
run: |
just lint
- name: Run Eliot tests
run: |
just test
- name: Build docs
run: |
just docs
- name: Set Docker image tag to the shortened commit sha for updates of the main branch
if: github.ref == 'refs/heads/main'
run: |
echo IMAGE_TAG=$(git rev-parse --short=10 "$GITHUB_SHA") >> "$GITHUB_ENV"
- name: Set Docker image tag to the git tag for tagged builds
if: startsWith(github.ref, 'refs/tags/')
run: |
echo IMAGE_TAG="$GITHUB_REF_NAME" >> "$GITHUB_ENV"
- name: Set Docker image target name
if: env.IMAGE_TAG != ''
run: |
echo TARGET_IMAGE=us-docker.pkg.dev/${{ secrets.DOCKER_IMAGE_PATH }}:${{ env.IMAGE_TAG }} >> "$GITHUB_ENV"
- name: Tag Docker image
if: env.TARGET_IMAGE != ''
run: |
docker tag eliot:build "$TARGET_IMAGE"
- name: Push the Docker image to GAR
if: env.TARGET_IMAGE != ''
uses: mozilla-it/deploy-actions/docker-push@v6.2.3
with:
image_tags: ${{ env.TARGET_IMAGE }}
workload_identity_pool_project_number: ${{ secrets.WORKLOAD_IDENTITY_POOL_PROJECT_NUMBER }}
project_id: ${{ secrets.GCP_PROJECT_ID }}