diff options
| author | Dave Henderson <dhenderson@gmail.com> | 2025-03-13 20:55:46 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-13 20:55:46 -0400 |
| commit | 6dcac60dafccbde203285ec424e931c5d4af637b (patch) | |
| tree | 28418bb489862891c94c1421b88c50b3647a467b /.github/workflows | |
| parent | b64145ad46a787d297218997546102b74344f234 (diff) | |
ci(fix): Attempt to fix release workflows (#2351)
Signed-off-by: Dave Henderson <dhenderson@gmail.com>
Diffstat (limited to '.github/workflows')
| -rw-r--r-- | .github/workflows/docker-main.yml | 12 | ||||
| -rw-r--r-- | .github/workflows/release.yml | 57 |
2 files changed, 24 insertions, 45 deletions
diff --git a/.github/workflows/docker-main.yml b/.github/workflows/docker-main.yml index fb8f8c32..92e51b54 100644 --- a/.github/workflows/docker-main.yml +++ b/.github/workflows/docker-main.yml @@ -17,7 +17,7 @@ jobs: id: buildx uses: docker/setup-buildx-action@v3.10.0 with: - version: v0.14.1 + version: v0.19.3 driver-opts: | image=moby/buildkit:buildx-stable-1 network=host @@ -38,10 +38,10 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build & Push (latest tag) run: | - export srcrepo=${{ github.repository}} + export srcrepo=ghcr.io/${{ github.repository}} make docker-multi COMMIT=${{ github.sha }} DOCKER_REPO=${srcrepo} BUILDX_ACTION=--push - docker buildx imagetools create -t gomplate/gomplate:latest ${srcrepo}:latest - docker buildx imagetools create -t gomplate/gomplate:alpine ${srcrepo}:alpine - docker buildx imagetools create -t ghcr.io/${srcrepo}:latest ${srcrepo}:latest - docker buildx imagetools create -t ghcr.io/${srcrepo}:alpine ${srcrepo}:alpine + for repo in "gomplate/gomplate" "hairyhenderson/gomplate"; do + docker buildx imagetools create -t ${repo}:latest ${srcrepo}:latest + docker buildx imagetools create -t ${repo}:alpine ${srcrepo}:alpine + done diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index da6b56b1..da673eca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,6 +26,7 @@ jobs: with: app-id: ${{ vars.APP_ID }} private-key: ${{ secrets.PRIVATE_KEY }} + - uses: actions/checkout@v4 - name: install lab env: GH_TOKEN: ${{ steps.app-token.outputs.token }} @@ -33,9 +34,10 @@ jobs: gh release download --repo zaquestion/lab v0.25.1 -p lab_0.25.1_linux_amd64.tar.gz tar -xzf lab_0.25.1_linux_amd64.tar.gz ./lab --version - - uses: actions/checkout@v4 - name: Retrieve release artifacts id: artifacts + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} run: | # need the checksums gh release download ${TAG_NAME} --skip-existing -p "${TAG_NAME}.sha*" @@ -46,8 +48,6 @@ jobs: # need gomplate to template the APKBUILD! gh release download ${TAG_NAME} --skip-existing -p gomplate_linux-amd64 chmod 755 gomplate_linux-amd64 - env: - GH_TOKEN: ${{ steps.app-token.outputs.token }} - name: checkout alpinelinux/aports run: | set -ex @@ -124,23 +124,15 @@ jobs: driver-opts: | image=moby/buildkit:buildx-stable-1 network=host - - name: Available platforms - run: echo {{ `${{ steps.buildx.outputs.platforms }}` }} - - run: docker info && docker version - uses: actions/checkout@v4 with: fetch-depth: 0 - - uses: actions/create-github-app-token@v1 - id: app-token - with: - app-id: ${{ vars.APP_ID }} - private-key: ${{ secrets.PRIVATE_KEY }} - name: Login to GHCR uses: docker/login-action@v3.3.0 with: registry: ghcr.io username: ${{ github.actor }} - password: ${{ steps.app-token.outputs.token }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Login to DockerHub uses: docker/login-action@v3.3.0 with: @@ -161,32 +153,19 @@ jobs: make docker-multi COMMIT=${COMMIT} DOCKER_REPO=${srcrepo} BUILDX_ACTION=--push set -x - export repo=${srcrepo} export git_tag=${TAG_NAME} export major_version=${git_tag%\.*} - docker buildx imagetools create -t ${repo}:stable ${srcrepo}:latest - docker buildx imagetools create -t ${repo}:${git_tag} ${srcrepo}:latest - docker buildx imagetools create -t ${repo}:${major_version} ${srcrepo}:latest - - docker buildx imagetools create -t ${repo}:stable-alpine ${srcrepo}:alpine - docker buildx imagetools create -t ${repo}:${git_tag}-alpine ${srcrepo}:alpine - docker buildx imagetools create -t ${repo}:${major_version}-alpine ${srcrepo}:alpine - - # and now DockerHub (if we don't get rate-limited) - export repo=gomplate/gomplate - docker buildx imagetools create -t ${repo}:stable ${srcrepo}:latest - docker buildx imagetools create -t ${repo}:${git_tag} ${srcrepo}:latest - docker buildx imagetools create -t ${repo}:${major_version} ${srcrepo}:latest - - docker buildx imagetools create -t ${repo}:stable-alpine ${srcrepo}:alpine - docker buildx imagetools create -t ${repo}:${git_tag}-alpine ${srcrepo}:alpine - docker buildx imagetools create -t ${repo}:${major_version}-alpine ${srcrepo}:alpine - - export repo=hairyhenderon/gomplate - docker buildx imagetools create -t ${repo}:stable ${srcrepo}:latest - docker buildx imagetools create -t ${repo}:${git_tag} ${srcrepo}:latest - docker buildx imagetools create -t ${repo}:${major_version} ${srcrepo}:latest - - docker buildx imagetools create -t ${repo}:stable-alpine ${srcrepo}:alpine - docker buildx imagetools create -t ${repo}:${git_tag}-alpine ${srcrepo}:alpine - docker buildx imagetools create -t ${repo}:${major_version}-alpine ${srcrepo}:alpine + + # Push tags first to GHCR, then to DockerHub (last in case of rate-limiting) + for repo in "${srcrepo}" "gomplate/gomplate" "hairyhenderson/gomplate"; do + for tag in "stable" "${git_tag}" "${major_version}"; do + docker buildx imagetools create -t ${repo}:${tag} ${srcrepo}:latest + docker buildx imagetools create -t ${repo}:${tag}-alpine ${srcrepo}:alpine + done + done + + # also push latest and alpine tags to the other repos + for repo in "gomplate/gomplate" "hairyhenderson/gomplate"; do + docker buildx imagetools create -t ${repo}:latest ${srcrepo}:latest + docker buildx imagetools create -t ${repo}:alpine ${srcrepo}:alpine + done |
