From b144426282996831bc2ece7d5ebfbe344b5797b9 Mon Sep 17 00:00:00 2001 From: Valentin Seitz Date: Wed, 2 Aug 2023 19:52:53 +0200 Subject: [PATCH 1/6] - modify args to fit to systemtest - make the manual triggering more useful - move latest tag to last master --- .github/workflows/build-docker.yml | 36 +++++++++++++++++---- tools/releasing/packaging/docker/Dockerfile | 8 ++--- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index c9c4ea09..b8bd4440 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -1,10 +1,19 @@ name: Update docker image on: - workflow_dispatch: # Trigger by hand from the UI + workflow_dispatch: # Trigger by hand from the UI + inputs: + branch: + type: choice + description: branch to build the container from + options: + - develop + - master push: branches: - develop + - master + jobs: build-and-release-docker-image: @@ -13,10 +22,24 @@ jobs: env: docker_username: precice steps: - - name: Get branch name - if: github.event_name != 'pull_request' + - name: Set branch name for manual triggering + if: github.event_name == 'workflow_dispatch' + shell: bash + run: echo "BINDINGS_REF=${{ inputs.branch }}" >> $GITHUB_ENV + - name: Set branch name for on pull triggering + if: github.event_name != 'pull_request' && github.event_name != 'workflow_dispatch' + shell: bash + run: echo "BINDINGS_REF=${{ github.ref_name }}" >> $GITHUB_ENV + - name: Set PRECICE_TAG and the TAG depending on branch shell: bash - run: echo "branch=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV + run: | + if [[ ${{ env.BINDINGS_REF }} == 'master' ]]; then + echo "PRECICE_TAG=latest >> "$GITHUB_ENV" + echo "TAG=latest >> "$GITHUB_ENV" + else + echo "PRECICE_TAG=${{ env.BINDINGS_REF }}" >> "$GITHUB_ENV" + echo "TAG=${{ env.BINDINGS_REF }} >> "$GITHUB_ENV" + fi - name: Checkout Repository uses: actions/checkout@v2 - name: Set up Docker Buildx @@ -31,6 +54,7 @@ jobs: with: push: true file: "./tools/releasing/packaging/docker/Dockerfile" - tags: ${{ env.docker_username }}/python-bindings:${{ env.branch }},${{ env.docker_username }}/python-bindings:latest + tags: ${{ env.docker_username }}/python-bindings:${{ env.TAG }} build-args: | - branch=${{ env.branch }} + PRECICE_TAG=${{ env.PRECICE_TAG }} + PYTHON_BINDINGS_REF = ${{ env.BINDINGS_REF }} diff --git a/tools/releasing/packaging/docker/Dockerfile b/tools/releasing/packaging/docker/Dockerfile index 496390f1..f9d59d51 100644 --- a/tools/releasing/packaging/docker/Dockerfile +++ b/tools/releasing/packaging/docker/Dockerfile @@ -1,6 +1,6 @@ # Dockerfile to build a ubuntu image containing the installed Debian package of a release -ARG branch=develop -ARG from=precice/precice:latest +ARG PRECICE_TAG=develop +ARG from=precice/precice:${PRECICE_TAG} FROM $from USER root @@ -42,7 +42,7 @@ RUN python3 -m pip install --user --upgrade pip # Rebuild image if force_rebuild after that command ARG CACHEBUST -ARG branch=develop +ARG PYTHON_BINDINGS_REF=develop # Builds the precice python bindings for python3 -RUN pip3 install --user git+https://github.com/precice/python-bindings.git@$branch +RUN pip3 install --user git+https://github.com/precice/python-bindings.git@$PYTHON_BINDINGS_REF From 64999bf4e98277a25f98b617c5702a6df952c063 Mon Sep 17 00:00:00 2001 From: Valentin Seitz Date: Wed, 2 Aug 2023 19:55:20 +0200 Subject: [PATCH 2/6] bash string handling... Fun stuff --- .github/workflows/build-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index b8bd4440..80713631 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -33,7 +33,7 @@ jobs: - name: Set PRECICE_TAG and the TAG depending on branch shell: bash run: | - if [[ ${{ env.BINDINGS_REF }} == 'master' ]]; then + if [[ '${{ env.BINDINGS_REF }}' == 'master' ]]; then echo "PRECICE_TAG=latest >> "$GITHUB_ENV" echo "TAG=latest >> "$GITHUB_ENV" else From 93a48294ebe9b78a395b21adb3c551aa03a3c083 Mon Sep 17 00:00:00 2001 From: Valentin Seitz Date: Wed, 2 Aug 2023 19:57:28 +0200 Subject: [PATCH 3/6] sprinkle in some " --- .github/workflows/build-docker.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index 80713631..06ca61b9 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -34,11 +34,11 @@ jobs: shell: bash run: | if [[ '${{ env.BINDINGS_REF }}' == 'master' ]]; then - echo "PRECICE_TAG=latest >> "$GITHUB_ENV" - echo "TAG=latest >> "$GITHUB_ENV" + echo "PRECICE_TAG=latest" >> "$GITHUB_ENV" + echo "TAG=latest" >> "$GITHUB_ENV" else echo "PRECICE_TAG=${{ env.BINDINGS_REF }}" >> "$GITHUB_ENV" - echo "TAG=${{ env.BINDINGS_REF }} >> "$GITHUB_ENV" + echo "TAG=${{ env.BINDINGS_REF }}" >> "$GITHUB_ENV" fi - name: Checkout Repository uses: actions/checkout@v2 From 27763c87af25c4e6e4753be5d712ffb922b8f370 Mon Sep 17 00:00:00 2001 From: Valentin Seitz Date: Wed, 2 Aug 2023 20:05:57 +0200 Subject: [PATCH 4/6] adding some "debug" ouptut --- .github/workflows/build-docker.yml | 4 +++- tools/releasing/packaging/docker/Dockerfile | 3 +-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index 06ca61b9..fdf2891e 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -36,9 +36,11 @@ jobs: if [[ '${{ env.BINDINGS_REF }}' == 'master' ]]; then echo "PRECICE_TAG=latest" >> "$GITHUB_ENV" echo "TAG=latest" >> "$GITHUB_ENV" + echo "Building TAG: latest" else echo "PRECICE_TAG=${{ env.BINDINGS_REF }}" >> "$GITHUB_ENV" echo "TAG=${{ env.BINDINGS_REF }}" >> "$GITHUB_ENV" + echo "Building TAG: ${{ env.BINDINGS_REF }}" fi - name: Checkout Repository uses: actions/checkout@v2 @@ -57,4 +59,4 @@ jobs: tags: ${{ env.docker_username }}/python-bindings:${{ env.TAG }} build-args: | PRECICE_TAG=${{ env.PRECICE_TAG }} - PYTHON_BINDINGS_REF = ${{ env.BINDINGS_REF }} + PYTHON_BINDINGS_REF=${{ env.BINDINGS_REF }} diff --git a/tools/releasing/packaging/docker/Dockerfile b/tools/releasing/packaging/docker/Dockerfile index f9d59d51..84c4fdf8 100644 --- a/tools/releasing/packaging/docker/Dockerfile +++ b/tools/releasing/packaging/docker/Dockerfile @@ -41,8 +41,7 @@ SHELL ["/bin/bash", "-c"] RUN python3 -m pip install --user --upgrade pip # Rebuild image if force_rebuild after that command -ARG CACHEBUST ARG PYTHON_BINDINGS_REF=develop # Builds the precice python bindings for python3 -RUN pip3 install --user git+https://github.com/precice/python-bindings.git@$PYTHON_BINDINGS_REF +RUN pip3 install --user git+https://github.com/precice/python-bindings.git@${PYTHON_BINDINGS_REF} From 3fc18709d962c3777ca34a4623d93f84062d8c3a Mon Sep 17 00:00:00 2001 From: valentin-seitz Date: Thu, 3 Aug 2023 12:10:29 +0200 Subject: [PATCH 5/6] Update .github/workflows/build-docker.yml Co-authored-by: Gerasimos Chourdakis --- .github/workflows/build-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index fdf2891e..979dec0e 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -5,7 +5,7 @@ on: inputs: branch: type: choice - description: branch to build the container from + description: branch to build the image from options: - develop - master From cac4a786681ef3b666c4586f3c84bc92be68be50 Mon Sep 17 00:00:00 2001 From: valentin-seitz Date: Thu, 3 Aug 2023 12:15:55 +0200 Subject: [PATCH 6/6] Update .github/workflows/build-docker.yml Co-authored-by: Gerasimos Chourdakis --- .github/workflows/build-docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker.yml b/.github/workflows/build-docker.yml index 979dec0e..ea12b8cd 100644 --- a/.github/workflows/build-docker.yml +++ b/.github/workflows/build-docker.yml @@ -26,7 +26,7 @@ jobs: if: github.event_name == 'workflow_dispatch' shell: bash run: echo "BINDINGS_REF=${{ inputs.branch }}" >> $GITHUB_ENV - - name: Set branch name for on pull triggering + - name: Set branch name for "on pull request" triggering if: github.event_name != 'pull_request' && github.event_name != 'workflow_dispatch' shell: bash run: echo "BINDINGS_REF=${{ github.ref_name }}" >> $GITHUB_ENV