From 88dfeff3f765b79d6086362cbdd250e889fe0815 Mon Sep 17 00:00:00 2001 From: Nicolas Giard Date: Mon, 28 Oct 2024 22:40:12 -0400 Subject: [PATCH] ci: read target base image from TARGET_BASE file --- .github/workflows/build-base-app.yml | 5 +++-- .github/workflows/build.yml | 10 +++++++++- .github/workflows/tests.yml | 9 +++++++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-base-app.yml b/.github/workflows/build-base-app.yml index 3cea907fd..f5bcc4903 100644 --- a/.github/workflows/build-base-app.yml +++ b/.github/workflows/build-base-app.yml @@ -23,7 +23,7 @@ jobs: - name: Set Version run: | printf -v CURDATE '%(%Y%m%d%H%M)' -1 - echo "IMGVERSION=$CURDATE" >> $GITHUB_OUTPUT + echo "IMGVERSION=$CURDATE" >> $GITHUB_ENV - name: Set up QEMU uses: docker/setup-qemu-action@v3 @@ -54,10 +54,11 @@ jobs: - name: Update version references run: | sed -i "1s/.*/FROM ghcr.io/ietf-tools/datatracker-app-base:${{ env.IMGVERSION }}/" dev/build/Dockerfile + echo "${{ env.IMGVERSION }}" > dev/build/TARGET_BASE - name: Commit CHANGELOG.md uses: stefanzweifel/git-auto-commit-action@v5 with: branch: main commit_message: 'ci: update base image target version to ${{ env.IMGVERSION }}' - file_pattern: dev/build/Dockerfile + file_pattern: dev/build/Dockerfile dev/build/TARGET_BASE diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 756600cc1..6041fe474 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,6 +63,7 @@ jobs: pkg_version: ${{ steps.buildvars.outputs.pkg_version }} from_tag: ${{ steps.semver.outputs.nextStrict }} to_tag: ${{ steps.semver.outputs.current }} + base_image_version: ${{ steps.baseimgversion.outputs.base_image_version }} steps: - uses: actions/checkout@v4 @@ -122,6 +123,11 @@ jobs: echo "::notice::Non-production build ${{ steps.semverdev.outputs.nextMajorStrict }}.0.0-dev.$GITHUB_RUN_NUMBER created using branch $GITHUB_REF_NAME" fi + - name: Get Base Image Target Version + id: baseimgversion + run: | + echo "base_image_version=$(sed -n '1p' dev/build/TARGET_BASE)" >> $GITHUB_OUTPUT + # ----------------------------------------------------------------- # TESTS # ----------------------------------------------------------------- @@ -133,6 +139,7 @@ jobs: needs: [prepare] with: ignoreLowerCoverage: ${{ github.event.inputs.ignoreLowerCoverage == 'true' }} + targetBaseVersion: ${{ needs.prepare.outputs.base_image_version }} # ----------------------------------------------------------------- # RELEASE @@ -200,6 +207,7 @@ jobs: SKIP_TESTS: ${{ github.event.inputs.skiptests }} DEBIAN_FRONTEND: noninteractive BROWSERSLIST_IGNORE_OLD_DATA: 1 + TARGETBASE: ${{ needs.prepare.outputs.base_image_version }} with: host: ${{ steps.azlaunch.outputs.ipaddr }} port: 22 @@ -310,7 +318,7 @@ jobs: echo "==========================================================================" echo "Collecting statics..." echo "==========================================================================" - sudo docker run --rm --name collectstatics -v $(pwd):/workspace ghcr.io/ietf-tools/datatracker-app-base:latest sh dev/build/collectstatics.sh + sudo docker run --rm --name collectstatics -v $(pwd):/workspace ghcr.io/ietf-tools/datatracker-app-base:$TARGETBASE sh dev/build/collectstatics.sh echo "Pushing statics..." cd static aws s3 sync . s3://static/dt/$PKG_VERSION --only-show-errors diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 64db03db0..7da7ec897 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -8,12 +8,17 @@ on: default: false required: true type: boolean + targetBaseVersion: + description: 'Target Base Image Version' + default: latest + required: true + type: string jobs: tests-python: name: Python Tests runs-on: ubuntu-latest - container: ghcr.io/ietf-tools/datatracker-app-base:latest + container: ghcr.io/ietf-tools/datatracker-app-base:${{ github.event.inputs.targetBaseVersion }} services: db: @@ -114,7 +119,7 @@ jobs: tests-playwright-legacy: name: Playwright Legacy Tests runs-on: ubuntu-latest - container: ghcr.io/ietf-tools/datatracker-app-base:latest + container: ghcr.io/ietf-tools/datatracker-app-base:${{ github.event.inputs.targetBaseVersion }} strategy: fail-fast: false matrix: