diff --git a/.forgejo/regsync/regsync.yml b/.forgejo/regsync/regsync.yml index 0a14db45..941c0f93 100644 --- a/.forgejo/regsync/regsync.yml +++ b/.forgejo/regsync/regsync.yml @@ -7,14 +7,14 @@ x-tags: tags: allow: - "latest" - - "v[0-9]+\\.[0-9]+\\.[0-9]+" + - "v[0-9]+\\.[0-9]+\\.[0-9]+(-[a-z0-9\\.]+)?" - "v[0-9]+\\.[0-9]+" - "v[0-9]+" main: &tags-main tags: allow: - "latest" - - "v[0-9]+\\.[0-9]+\\.[0-9]+" + - "v[0-9]+\\.[0-9]+\\.[0-9]+(-[a-z0-9\\.]+)?" - "v[0-9]+\\.[0-9]+" - "v[0-9]+" - "main" @@ -22,7 +22,7 @@ x-tags: tags: allow: - "latest" - - "v[0-9]+\\.[0-9]+\\.[0-9]+" + - "v[0-9]+\\.[0-9]+\\.[0-9]+(-[a-z0-9\\.]+)?" - "v[0-9]+\\.[0-9]+" - "v[0-9]+" - "main" diff --git a/.forgejo/workflows/release-image.yml b/.forgejo/workflows/release-image.yml index 170fe668..5ac5ddfa 100644 --- a/.forgejo/workflows/release-image.yml +++ b/.forgejo/workflows/release-image.yml @@ -204,13 +204,31 @@ jobs: digest="${{ steps.build.outputs.digest }}" touch "/tmp/digests/${digest#sha256:}" + - name: Extract binary from container (image) + id: extract-binary-image + run: | + mkdir -p /tmp/binaries + digest="${{ steps.build.outputs.digest }}" + echo "container_id=$(docker create --platform ${{ matrix.platform }} ${{ needs.define-variables.outputs.images_list }}@$digest)" >> $GITHUB_OUTPUT + - name: Extract binary from container (copy) + run: docker cp ${{ steps.extract-binary-image.outputs.container_id }}:/sbin/conduwuit /tmp/binaries/conduwuit-${{ matrix.target_cpu }}-${{ matrix.slug }}-${{ matrix.profile }} + - name: Extract binary from container (cleanup) + run: docker rm ${{ steps.extract-binary-image.outputs.container_id }} + + - name: Upload binary artifact + uses: forgejo/upload-artifact@v4 + with: + name: conduwuit-${{ matrix.target_cpu }}-${{ matrix.slug }}-${{ matrix.profile }} + path: /tmp/binaries/conduwuit-${{ matrix.target_cpu }}-${{ matrix.slug }}-${{ matrix.profile }} + if-no-files-found: error + - name: Upload digest uses: forgejo/upload-artifact@v4 with: name: digests-${{ matrix.slug }} path: /tmp/digests/* if-no-files-found: error - retention-days: 1 + retention-days: 5 merge: runs-on: dind @@ -238,12 +256,13 @@ jobs: uses: docker/metadata-action@v5 with: tags: | - type=semver,pattern=v{{version}} - type=semver,pattern=v{{major}}.{{minor}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.0.') }} - type=semver,pattern=v{{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }} + type=semver,pattern={{version}},prefix=v + type=semver,pattern={{major}}.{{minor}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.0.') }},prefix=v + type=semver,pattern={{major}},enable=${{ !startsWith(github.ref, 'refs/tags/v0.') }},prefix=v type=ref,event=branch,prefix=${{ format('refs/heads/{0}', github.event.repository.default_branch) != github.ref && 'branch-' || '' }} type=ref,event=pr type=sha,format=long + type=raw,value=latest,enable=${{ !startsWith(github.ref, 'refs/tags/v') }} images: ${{needs.define-variables.outputs.images}} # default labels & annotations: https://github.com/docker/metadata-action/blob/master/src/meta.ts#L509 env: