From 50709ee932fb0101746808c0c1bbdd08f52abcb1 Mon Sep 17 00:00:00 2001 From: MaxymVlasov Date: Sat, 25 Jan 2025 00:48:20 +0200 Subject: [PATCH 1/9] ci: Make able to run workflow in forks with uppercase in names --- .github/workflows/build-image-test.yaml | 17 +++++++++++------ .github/workflows/build-image.yaml | 12 +++++++++--- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index f13091229..6e9c16a74 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -32,6 +32,13 @@ jobs: .github/workflows/build-image-test.yaml tools/*.sh + - name: Set IMAGE environment variable + # Lowercase the repo name for make able to run workflow in forks, + # which owners have uppercase letters in nickname + run: >- + echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}:${{ env.IMAGE_TAG }}" + >> $GITHUB_ENV + - name: Set up QEMU if: matrix.os != 'ubuntu-latest' || matrix.arch != 'amd64' # yamllint disable-line rule:line-length @@ -56,8 +63,7 @@ jobs: linux/${{ matrix.arch }} push: false load: true - tags: | - ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} + tags: ${{ env.IMAGE }} # Fix multi-platform: https://github.com/docker/buildx/issues/1533 provenance: false secrets: | @@ -68,7 +74,7 @@ jobs: # yamllint disable-line rule:line-length uses: plexsystems/container-structure-test-action@c0a028aa96e8e82ae35be556040340cbb3e280ca # v0.3.0 with: - image: ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} + image: ${{ env.IMAGE }} config: .github/.container-structure-test-config.yaml - name: Dive - check image for waste files @@ -76,7 +82,7 @@ jobs: # yamllint disable-line rule:line-length uses: MaxymVlasov/dive-action@379af3fc636888ada5899c997e8b52db6ad45023 # v1.0.1 with: - image: ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} + image: ${{ env.IMAGE }} config-file: ${{ github.workspace }}/.github/.dive-ci.yaml github-token: ${{ secrets.GITHUB_TOKEN }} @@ -95,8 +101,7 @@ jobs: INSTALL_ALL=true platforms: linux/amd64,linux/arm64 push: false - tags: | - ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} + tags: ${{ env.IMAGE }} # Fix multi-platform: https://github.com/docker/buildx/issues/1533 provenance: false secrets: | diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index 8abff277c..974ffdd33 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -37,6 +37,12 @@ jobs: || echo 'latest' ) >> $GITHUB_ENV + - name: Set IMAGE_REPO environment variable + # Lowercase the repo name for make able to run workflow in forks, + # which owners have uppercase letters in nickname + run: >- + echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV + - name: Set up Docker Buildx # yamllint disable-line rule:line-length uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0 @@ -52,8 +58,8 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: | - ghcr.io/${{ github.repository }}:${{ env.IMAGE_TAG }} - ghcr.io/${{ github.repository }}:latest + ${{ env.IMAGE_REPO }}:${{ env.IMAGE_TAG }} + ${{ env.IMAGE_REPO }}:latest # Fix multi-platform: https://github.com/docker/buildx/issues/1533 provenance: false secrets: | @@ -70,7 +76,7 @@ jobs: platforms: linux/amd64,linux/arm64 push: true tags: | - ghcr.io/${{ github.repository }}:nightly + ${{ env.IMAGE_REPO }}:nightly # Fix multi-platform: https://github.com/docker/buildx/issues/1533 provenance: false secrets: | From 2aefd611d565127e52c5478e63c342c587c2480d Mon Sep 17 00:00:00 2001 From: MaxymVlasov Date: Sat, 25 Jan 2025 01:18:34 +0200 Subject: [PATCH 2/9] Rollback to tr --- .github/workflows/build-image-test.yaml | 5 +++-- .github/workflows/build-image.yaml | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index 6e9c16a74..56698423c 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -36,8 +36,9 @@ jobs: # Lowercase the repo name for make able to run workflow in forks, # which owners have uppercase letters in nickname run: >- - echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}:${{ env.IMAGE_TAG }}" - >> $GITHUB_ENV + echo "IMAGE=ghcr.io/$( + echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]' + ):${{ env.IMAGE_TAG }}" >> $GITHUB_ENV - name: Set up QEMU if: matrix.os != 'ubuntu-latest' || matrix.arch != 'amd64' diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index 974ffdd33..8880d0d8b 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -41,7 +41,9 @@ jobs: # Lowercase the repo name for make able to run workflow in forks, # which owners have uppercase letters in nickname run: >- - echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV + echo "IMAGE_REPO=ghcr.io/$( + echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]' + )" >> $GITHUB_ENV - name: Set up Docker Buildx # yamllint disable-line rule:line-length From 334134e6a055dab051885184ed30eb971efd19f0 Mon Sep 17 00:00:00 2001 From: Maksym Vlasov Date: Sat, 25 Jan 2025 04:01:50 +0200 Subject: [PATCH 3/9] Apply suggestions from code review Co-authored-by: George L. Yermulnik --- .github/workflows/build-image-test.yaml | 10 +++++----- .github/workflows/build-image.yaml | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index 56698423c..fb484302b 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -33,12 +33,12 @@ jobs: tools/*.sh - name: Set IMAGE environment variable - # Lowercase the repo name for make able to run workflow in forks, - # which owners have uppercase letters in nickname + # Lowercase the org/repo name to allow for workflow to run in forks, + # which owners have uppercase letters in username + shell: bash run: >- - echo "IMAGE=ghcr.io/$( - echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]' - ):${{ env.IMAGE_TAG }}" >> $GITHUB_ENV + echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}:${{ env.IMAGE_TAG }}" + >> $GITHUB_ENV - name: Set up QEMU if: matrix.os != 'ubuntu-latest' || matrix.arch != 'amd64' diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index 8880d0d8b..25512bb8b 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -38,12 +38,12 @@ jobs: ) >> $GITHUB_ENV - name: Set IMAGE_REPO environment variable - # Lowercase the repo name for make able to run workflow in forks, - # which owners have uppercase letters in nickname + shell: bash + # Lowercase the org/repo name to allow for workflow to run in forks, + # which owners have uppercase letters in username run: >- - echo "IMAGE_REPO=ghcr.io/$( - echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]' - )" >> $GITHUB_ENV + echo "IMAGE_REPO=ghcr.io/:${GITHUB_REPOSITORY@L}" + >> $GITHUB_ENV - name: Set up Docker Buildx # yamllint disable-line rule:line-length From d7dfa5118cdf4e91bd4c606017f7170e3539f137 Mon Sep 17 00:00:00 2001 From: Maksym Vlasov Date: Sat, 25 Jan 2025 04:29:02 +0200 Subject: [PATCH 4/9] Apply suggestions from code review --- .github/workflows/build-image-test.yaml | 2 +- .github/workflows/build-image.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index fb484302b..edfbc79f3 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -37,7 +37,7 @@ jobs: # which owners have uppercase letters in username shell: bash run: >- - echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}:${{ env.IMAGE_TAG }}" + echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY,,}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV - name: Set up QEMU diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index 25512bb8b..993a14662 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -42,7 +42,7 @@ jobs: # Lowercase the org/repo name to allow for workflow to run in forks, # which owners have uppercase letters in username run: >- - echo "IMAGE_REPO=ghcr.io/:${GITHUB_REPOSITORY@L}" + echo "IMAGE_REPO=ghcr.io/:${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV - name: Set up Docker Buildx From 0db0991d78dd2d99eb2d4217c2b4e780c0053a9d Mon Sep 17 00:00:00 2001 From: Maksym Vlasov Date: Sat, 25 Jan 2025 04:37:42 +0200 Subject: [PATCH 5/9] Apply suggestions from code review --- .github/workflows/build-image-test.yaml | 2 +- .github/workflows/build-image.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index edfbc79f3..968df251f 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -37,7 +37,7 @@ jobs: # which owners have uppercase letters in username shell: bash run: >- - echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY,,}:${{ env.IMAGE_TAG }}" + echo "IMAGE=ghcr.io/${${{ github.repository }}@L}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV - name: Set up QEMU diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index 993a14662..8fc8602bc 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -42,7 +42,7 @@ jobs: # Lowercase the org/repo name to allow for workflow to run in forks, # which owners have uppercase letters in username run: >- - echo "IMAGE_REPO=ghcr.io/:${GITHUB_REPOSITORY,,}" + echo "IMAGE_REPO=ghcr.io/:${${{ github.repository }}@L}" >> $GITHUB_ENV - name: Set up Docker Buildx From 30d712537d484981fac31e2d6c42da1e99af4610 Mon Sep 17 00:00:00 2001 From: Maksym Vlasov Date: Sat, 25 Jan 2025 04:44:14 +0200 Subject: [PATCH 6/9] Apply suggestions from code review --- .github/workflows/build-image-test.yaml | 2 +- .github/workflows/build-image.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index 968df251f..df0d4b00c 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -37,7 +37,7 @@ jobs: # which owners have uppercase letters in username shell: bash run: >- - echo "IMAGE=ghcr.io/${${{ github.repository }}@L}:${{ env.IMAGE_TAG }}" + echo "IMAGE=ghcr.io/${${{ github.repository }},,}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV - name: Set up QEMU diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index 8fc8602bc..a09399dcd 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -42,7 +42,7 @@ jobs: # Lowercase the org/repo name to allow for workflow to run in forks, # which owners have uppercase letters in username run: >- - echo "IMAGE_REPO=ghcr.io/:${${{ github.repository }}@L}" + echo "IMAGE_REPO=ghcr.io/:${${{ github.repository }},,}" >> $GITHUB_ENV - name: Set up Docker Buildx From 2afeabfb076a440e05a78efd5b69a0357f2f3e78 Mon Sep 17 00:00:00 2001 From: Maksym Vlasov Date: Sat, 25 Jan 2025 04:58:00 +0200 Subject: [PATCH 7/9] Apply suggestions from code review --- .github/workflows/build-image-test.yaml | 3 +-- .github/workflows/build-image.yaml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index df0d4b00c..8d4e12599 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -37,8 +37,7 @@ jobs: # which owners have uppercase letters in username shell: bash run: >- - echo "IMAGE=ghcr.io/${${{ github.repository }},,}:${{ env.IMAGE_TAG }}" - >> $GITHUB_ENV + echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY,,}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV - name: Set up QEMU if: matrix.os != 'ubuntu-latest' || matrix.arch != 'amd64' diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index a09399dcd..ad49c22e3 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -42,8 +42,7 @@ jobs: # Lowercase the org/repo name to allow for workflow to run in forks, # which owners have uppercase letters in username run: >- - echo "IMAGE_REPO=ghcr.io/:${${{ github.repository }},,}" - >> $GITHUB_ENV + echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV - name: Set up Docker Buildx # yamllint disable-line rule:line-length From 5fc1cd916c3b1a62177835f860fe7ad18f915b4c Mon Sep 17 00:00:00 2001 From: Maksym Vlasov Date: Sat, 25 Jan 2025 05:11:28 +0200 Subject: [PATCH 8/9] prev xommit finnaly worked. problem with indent? --- .github/workflows/build-image-test.yaml | 4 +--- .github/workflows/build-image.yaml | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index 8d4e12599..7f4a06250 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -35,10 +35,8 @@ jobs: - name: Set IMAGE environment variable # Lowercase the org/repo name to allow for workflow to run in forks, # which owners have uppercase letters in username - shell: bash run: >- - echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY,,}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV - + echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV - name: Set up QEMU if: matrix.os != 'ubuntu-latest' || matrix.arch != 'amd64' # yamllint disable-line rule:line-length diff --git a/.github/workflows/build-image.yaml b/.github/workflows/build-image.yaml index ad49c22e3..d183ef0f4 100644 --- a/.github/workflows/build-image.yaml +++ b/.github/workflows/build-image.yaml @@ -38,12 +38,10 @@ jobs: ) >> $GITHUB_ENV - name: Set IMAGE_REPO environment variable - shell: bash # Lowercase the org/repo name to allow for workflow to run in forks, # which owners have uppercase letters in username run: >- - echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY,,}" >> $GITHUB_ENV - + echo "IMAGE_REPO=ghcr.io/${GITHUB_REPOSITORY@L}" >> $GITHUB_ENV - name: Set up Docker Buildx # yamllint disable-line rule:line-length uses: docker/setup-buildx-action@6524bf65af31da8d45b59e8c27de4bd072b392f5 # v3.8.0 From 098b7a9b9b9fafcf5b4a8bdad4d8d791245d36c1 Mon Sep 17 00:00:00 2001 From: Maksym Vlasov Date: Sat, 25 Jan 2025 05:15:25 +0200 Subject: [PATCH 9/9] Update .github/workflows/build-image-test.yaml --- .github/workflows/build-image-test.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-image-test.yaml b/.github/workflows/build-image-test.yaml index 7f4a06250..56f53c93f 100644 --- a/.github/workflows/build-image-test.yaml +++ b/.github/workflows/build-image-test.yaml @@ -36,7 +36,8 @@ jobs: # Lowercase the org/repo name to allow for workflow to run in forks, # which owners have uppercase letters in username run: >- - echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}:${{ env.IMAGE_TAG }}" >> $GITHUB_ENV + echo "IMAGE=ghcr.io/${GITHUB_REPOSITORY@L}:${{ env.IMAGE_TAG }}" + >> $GITHUB_ENV - name: Set up QEMU if: matrix.os != 'ubuntu-latest' || matrix.arch != 'amd64' # yamllint disable-line rule:line-length