mirror of
				https://github.com/steveiliop56/tinyauth.git
				synced 2025-11-04 08:05:42 +00:00 
			
		
		
		
	refactor: migrate release workflow to native runners
This commit is contained in:
		
							
								
								
									
										58
									
								
								.github/workflows/alpha-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										58
									
								
								.github/workflows/alpha-release.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,58 +0,0 @@
 | 
				
			|||||||
name: Alpha Release
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  workflow_dispatch:
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      alpha:
 | 
					 | 
				
			||||||
        description: "Alpha version (e.g. 1, 2, 3)"
 | 
					 | 
				
			||||||
        required: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  get-tag:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    outputs:
 | 
					 | 
				
			||||||
      tag: ${{ steps.tag.outputs.name }}
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout code
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Get tag
 | 
					 | 
				
			||||||
        id: tag
 | 
					 | 
				
			||||||
        run: echo "name=$(cat internal/assets/version)-alpha.${{ github.event.inputs.alpha }}" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  build-docker:
 | 
					 | 
				
			||||||
    needs: get-tag
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set up QEMU
 | 
					 | 
				
			||||||
        uses: docker/setup-qemu-action@v3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set up Docker Buildx
 | 
					 | 
				
			||||||
        uses: docker/setup-buildx-action@v3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Login to GitHub Container Registry
 | 
					 | 
				
			||||||
        uses: docker/login-action@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          registry: ghcr.io
 | 
					 | 
				
			||||||
          username: ${{ github.repository_owner }}
 | 
					 | 
				
			||||||
          password: ${{ secrets.GITHUB_TOKEN }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Build and push
 | 
					 | 
				
			||||||
        uses: docker/build-push-action@v6
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          context: .
 | 
					 | 
				
			||||||
          push: true
 | 
					 | 
				
			||||||
          platforms: linux/arm64, linux/amd64
 | 
					 | 
				
			||||||
          tags: ghcr.io/${{ github.repository_owner }}/tinyauth:${{ needs.get-tag.outputs.tag }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  alpha-release:
 | 
					 | 
				
			||||||
    needs: [get-tag, build-docker]
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Create alpha release
 | 
					 | 
				
			||||||
        uses: softprops/action-gh-release@v2
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          prerelease: true
 | 
					 | 
				
			||||||
          tag_name: ${{ needs.get-tag.outputs.tag }}
 | 
					 | 
				
			||||||
							
								
								
									
										58
									
								
								.github/workflows/beta-release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										58
									
								
								.github/workflows/beta-release.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,58 +0,0 @@
 | 
				
			|||||||
name: Beta Release
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  workflow_dispatch:
 | 
					 | 
				
			||||||
    inputs:
 | 
					 | 
				
			||||||
      alpha:
 | 
					 | 
				
			||||||
        description: "Beta version (e.g. 1, 2, 3)"
 | 
					 | 
				
			||||||
        required: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  get-tag:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    outputs:
 | 
					 | 
				
			||||||
      tag: ${{ steps.tag.outputs.name }}
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout code
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Get tag
 | 
					 | 
				
			||||||
        id: tag
 | 
					 | 
				
			||||||
        run: echo "name=$(cat internal/assets/version)-beta.${{ github.event.inputs.alpha }}" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  build-docker:
 | 
					 | 
				
			||||||
    needs: get-tag
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set up QEMU
 | 
					 | 
				
			||||||
        uses: docker/setup-qemu-action@v3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set up Docker Buildx
 | 
					 | 
				
			||||||
        uses: docker/setup-buildx-action@v3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Login to GitHub Container Registry
 | 
					 | 
				
			||||||
        uses: docker/login-action@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          registry: ghcr.io
 | 
					 | 
				
			||||||
          username: ${{ github.repository_owner }}
 | 
					 | 
				
			||||||
          password: ${{ secrets.GITHUB_TOKEN }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Build and push
 | 
					 | 
				
			||||||
        uses: docker/build-push-action@v6
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          context: .
 | 
					 | 
				
			||||||
          push: true
 | 
					 | 
				
			||||||
          platforms: linux/arm64, linux/amd64
 | 
					 | 
				
			||||||
          tags: ghcr.io/${{ github.repository_owner }}/tinyauth:${{ needs.get-tag.outputs.tag }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  beta-release:
 | 
					 | 
				
			||||||
    needs: [get-tag, build-docker]
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Create beta release
 | 
					 | 
				
			||||||
        uses: softprops/action-gh-release@v2
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          prerelease: true
 | 
					 | 
				
			||||||
          tag_name: ${{ needs.get-tag.outputs.tag }}
 | 
					 | 
				
			||||||
							
								
								
									
										137
									
								
								.github/workflows/experimental-build.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										137
									
								
								.github/workflows/experimental-build.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,137 +0,0 @@
 | 
				
			|||||||
name: Experimental Build
 | 
					 | 
				
			||||||
on:
 | 
					 | 
				
			||||||
  workflow_dispatch:
 | 
					 | 
				
			||||||
  push:
 | 
					 | 
				
			||||||
    tags:
 | 
					 | 
				
			||||||
      - "v*"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
jobs:
 | 
					 | 
				
			||||||
  build:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Docker meta
 | 
					 | 
				
			||||||
        id: meta
 | 
					 | 
				
			||||||
        uses: docker/metadata-action@v5
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          images: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Login to GitHub Container Registry
 | 
					 | 
				
			||||||
        uses: docker/login-action@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          registry: ghcr.io
 | 
					 | 
				
			||||||
          username: ${{ github.repository_owner }}
 | 
					 | 
				
			||||||
          password: ${{ secrets.GITHUB_TOKEN }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set up Docker Buildx
 | 
					 | 
				
			||||||
        uses: docker/setup-buildx-action@v3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Build and push
 | 
					 | 
				
			||||||
        uses: docker/build-push-action@v6
 | 
					 | 
				
			||||||
        id: build
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          platforms: linux/amd64
 | 
					 | 
				
			||||||
          labels: ${{ steps.meta.outputs.labels }}
 | 
					 | 
				
			||||||
          tags: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
					 | 
				
			||||||
          outputs: type=image,push-by-digest=true,name-canonical=true,push=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Export digest
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          mkdir -p ${{ runner.temp }}/digests
 | 
					 | 
				
			||||||
          digest="${{ steps.build.outputs.digest }}"
 | 
					 | 
				
			||||||
          touch "${{ runner.temp }}/digests/${digest#sha256:}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Upload digest
 | 
					 | 
				
			||||||
        uses: actions/upload-artifact@v4
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          name: digests-linux-amd64
 | 
					 | 
				
			||||||
          path: ${{ runner.temp }}/digests/*
 | 
					 | 
				
			||||||
          if-no-files-found: error
 | 
					 | 
				
			||||||
          retention-days: 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  build-arm:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-24.04-arm
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Docker meta
 | 
					 | 
				
			||||||
        id: meta
 | 
					 | 
				
			||||||
        uses: docker/metadata-action@v5
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          images: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Login to GitHub Container Registry
 | 
					 | 
				
			||||||
        uses: docker/login-action@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          registry: ghcr.io
 | 
					 | 
				
			||||||
          username: ${{ github.repository_owner }}
 | 
					 | 
				
			||||||
          password: ${{ secrets.GITHUB_TOKEN }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set up Docker Buildx
 | 
					 | 
				
			||||||
        uses: docker/setup-buildx-action@v3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Build and push
 | 
					 | 
				
			||||||
        uses: docker/build-push-action@v6
 | 
					 | 
				
			||||||
        id: build
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          platforms: linux/arm64
 | 
					 | 
				
			||||||
          labels: ${{ steps.meta.outputs.labels }}
 | 
					 | 
				
			||||||
          tags: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
					 | 
				
			||||||
          outputs: type=image,push-by-digest=true,name-canonical=true,push=true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Export digest
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          mkdir -p ${{ runner.temp }}/digests
 | 
					 | 
				
			||||||
          digest="${{ steps.build.outputs.digest }}"
 | 
					 | 
				
			||||||
          touch "${{ runner.temp }}/digests/${digest#sha256:}"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Upload digest
 | 
					 | 
				
			||||||
        uses: actions/upload-artifact@v4
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          name: digests-linux-arm64
 | 
					 | 
				
			||||||
          path: ${{ runner.temp }}/digests/*
 | 
					 | 
				
			||||||
          if-no-files-found: error
 | 
					 | 
				
			||||||
          retention-days: 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  merge:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    needs:
 | 
					 | 
				
			||||||
      - build
 | 
					 | 
				
			||||||
      - build-arm
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Download digests
 | 
					 | 
				
			||||||
        uses: actions/download-artifact@v4
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          path: ${{ runner.temp }}/digests
 | 
					 | 
				
			||||||
          pattern: digests-*
 | 
					 | 
				
			||||||
          merge-multiple: true
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Login to GitHub Container Registry
 | 
					 | 
				
			||||||
        uses: docker/login-action@v3
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          registry: ghcr.io
 | 
					 | 
				
			||||||
          username: ${{ github.repository_owner }}
 | 
					 | 
				
			||||||
          password: ${{ secrets.GITHUB_TOKEN }}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Set up Docker Buildx
 | 
					 | 
				
			||||||
        uses: docker/setup-buildx-action@v3
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Docker meta
 | 
					 | 
				
			||||||
        id: meta
 | 
					 | 
				
			||||||
        uses: docker/metadata-action@v5
 | 
					 | 
				
			||||||
        with:
 | 
					 | 
				
			||||||
          images: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
					 | 
				
			||||||
          tags: |
 | 
					 | 
				
			||||||
            type=ref,event=branch
 | 
					 | 
				
			||||||
            type=ref,event=pr
 | 
					 | 
				
			||||||
            type=semver,pattern={{version}}
 | 
					 | 
				
			||||||
            type=semver,pattern={{major}}.{{minor}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Create manifest list and push
 | 
					 | 
				
			||||||
        working-directory: ${{ runner.temp }}/digests
 | 
					 | 
				
			||||||
        run: |
 | 
					 | 
				
			||||||
          docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
 | 
					 | 
				
			||||||
            $(printf 'ghcr.io/${{ github.repository_owner }}/tinyauth@sha256:%s ' *)
 | 
					 | 
				
			||||||
							
								
								
									
										146
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										146
									
								
								.github/workflows/release.yml
									
									
									
									
										vendored
									
									
								
							@@ -1,32 +1,22 @@
 | 
				
			|||||||
name: Release
 | 
					name: Release
 | 
				
			||||||
on:
 | 
					on:
 | 
				
			||||||
  workflow_dispatch:
 | 
					  workflow_dispatch:
 | 
				
			||||||
 | 
					  push:
 | 
				
			||||||
 | 
					    tags:
 | 
				
			||||||
 | 
					      - "v*"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
jobs:
 | 
					jobs:
 | 
				
			||||||
  get-tag:
 | 
					  build:
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    outputs:
 | 
					 | 
				
			||||||
      tag: ${{ steps.tag.outputs.name }}
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
      - name: Checkout code
 | 
					 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      - name: Get tag
 | 
					 | 
				
			||||||
        id: tag
 | 
					 | 
				
			||||||
        run: echo "name=$(cat internal/assets/version)" >> $GITHUB_OUTPUT
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  build-docker:
 | 
					 | 
				
			||||||
    needs: get-tag
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
    steps:
 | 
					    steps:
 | 
				
			||||||
      - name: Checkout
 | 
					      - name: Checkout
 | 
				
			||||||
        uses: actions/checkout@v4
 | 
					        uses: actions/checkout@v4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Set up QEMU
 | 
					      - name: Docker meta
 | 
				
			||||||
        uses: docker/setup-qemu-action@v3
 | 
					        id: meta
 | 
				
			||||||
 | 
					        uses: docker/metadata-action@v5
 | 
				
			||||||
      - name: Set up Docker Buildx
 | 
					        with:
 | 
				
			||||||
        uses: docker/setup-buildx-action@v3
 | 
					          images: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Login to GitHub Container Registry
 | 
					      - name: Login to GitHub Container Registry
 | 
				
			||||||
        uses: docker/login-action@v3
 | 
					        uses: docker/login-action@v3
 | 
				
			||||||
@@ -35,21 +25,113 @@ jobs:
 | 
				
			|||||||
          username: ${{ github.repository_owner }}
 | 
					          username: ${{ github.repository_owner }}
 | 
				
			||||||
          password: ${{ secrets.GITHUB_TOKEN }}
 | 
					          password: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Set up Docker Buildx
 | 
				
			||||||
 | 
					        uses: docker/setup-buildx-action@v3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      - name: Build and push
 | 
					      - name: Build and push
 | 
				
			||||||
        uses: docker/build-push-action@v6
 | 
					        uses: docker/build-push-action@v6
 | 
				
			||||||
 | 
					        id: build
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          context: .
 | 
					          platforms: linux/amd64
 | 
				
			||||||
          push: true
 | 
					          labels: ${{ steps.meta.outputs.labels }}
 | 
				
			||||||
          platforms: linux/arm64, linux/amd64
 | 
					          tags: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
				
			||||||
          tags: ghcr.io/${{ github.repository_owner }}/tinyauth:${{ needs.get-tag.outputs.tag }}, ghcr.io/${{ github.repository_owner }}/tinyauth:latest
 | 
					          outputs: type=image,push-by-digest=true,name-canonical=true,push=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  release:
 | 
					      - name: Export digest
 | 
				
			||||||
    needs: [get-tag, build-docker]
 | 
					        run: |
 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					          mkdir -p ${{ runner.temp }}/digests
 | 
				
			||||||
    steps:
 | 
					          digest="${{ steps.build.outputs.digest }}"
 | 
				
			||||||
      - name: Create release
 | 
					          touch "${{ runner.temp }}/digests/${digest#sha256:}"
 | 
				
			||||||
        uses: softprops/action-gh-release@v2
 | 
					
 | 
				
			||||||
 | 
					      - name: Upload digest
 | 
				
			||||||
 | 
					        uses: actions/upload-artifact@v4
 | 
				
			||||||
        with:
 | 
					        with:
 | 
				
			||||||
          prerelease: false
 | 
					          name: digests-linux-amd64
 | 
				
			||||||
          make_latest: false
 | 
					          path: ${{ runner.temp }}/digests/*
 | 
				
			||||||
          tag_name: ${{ needs.get-tag.outputs.tag }}
 | 
					          if-no-files-found: error
 | 
				
			||||||
 | 
					          retention-days: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  build-arm:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-24.04-arm
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Checkout
 | 
				
			||||||
 | 
					        uses: actions/checkout@v4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Docker meta
 | 
				
			||||||
 | 
					        id: meta
 | 
				
			||||||
 | 
					        uses: docker/metadata-action@v5
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          images: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Login to GitHub Container Registry
 | 
				
			||||||
 | 
					        uses: docker/login-action@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          registry: ghcr.io
 | 
				
			||||||
 | 
					          username: ${{ github.repository_owner }}
 | 
				
			||||||
 | 
					          password: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Set up Docker Buildx
 | 
				
			||||||
 | 
					        uses: docker/setup-buildx-action@v3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Build and push
 | 
				
			||||||
 | 
					        uses: docker/build-push-action@v6
 | 
				
			||||||
 | 
					        id: build
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          platforms: linux/arm64
 | 
				
			||||||
 | 
					          labels: ${{ steps.meta.outputs.labels }}
 | 
				
			||||||
 | 
					          tags: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
				
			||||||
 | 
					          outputs: type=image,push-by-digest=true,name-canonical=true,push=true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Export digest
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          mkdir -p ${{ runner.temp }}/digests
 | 
				
			||||||
 | 
					          digest="${{ steps.build.outputs.digest }}"
 | 
				
			||||||
 | 
					          touch "${{ runner.temp }}/digests/${digest#sha256:}"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Upload digest
 | 
				
			||||||
 | 
					        uses: actions/upload-artifact@v4
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          name: digests-linux-arm64
 | 
				
			||||||
 | 
					          path: ${{ runner.temp }}/digests/*
 | 
				
			||||||
 | 
					          if-no-files-found: error
 | 
				
			||||||
 | 
					          retention-days: 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  merge:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    needs:
 | 
				
			||||||
 | 
					      - build
 | 
				
			||||||
 | 
					      - build-arm
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					      - name: Download digests
 | 
				
			||||||
 | 
					        uses: actions/download-artifact@v4
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          path: ${{ runner.temp }}/digests
 | 
				
			||||||
 | 
					          pattern: digests-*
 | 
				
			||||||
 | 
					          merge-multiple: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Login to GitHub Container Registry
 | 
				
			||||||
 | 
					        uses: docker/login-action@v3
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          registry: ghcr.io
 | 
				
			||||||
 | 
					          username: ${{ github.repository_owner }}
 | 
				
			||||||
 | 
					          password: ${{ secrets.GITHUB_TOKEN }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Set up Docker Buildx
 | 
				
			||||||
 | 
					        uses: docker/setup-buildx-action@v3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Docker meta
 | 
				
			||||||
 | 
					        id: meta
 | 
				
			||||||
 | 
					        uses: docker/metadata-action@v5
 | 
				
			||||||
 | 
					        with:
 | 
				
			||||||
 | 
					          images: ghcr.io/${{ github.repository_owner }}/tinyauth
 | 
				
			||||||
 | 
					          tags: |
 | 
				
			||||||
 | 
					            type=ref,event=branch
 | 
				
			||||||
 | 
					            type=ref,event=pr
 | 
				
			||||||
 | 
					            type=semver,pattern={{version}}
 | 
				
			||||||
 | 
					            type=semver,pattern={{major}}.{{minor}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      - name: Create manifest list and push
 | 
				
			||||||
 | 
					        working-directory: ${{ runner.temp }}/digests
 | 
				
			||||||
 | 
					        run: |
 | 
				
			||||||
 | 
					          docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
 | 
				
			||||||
 | 
					            $(printf 'ghcr.io/${{ github.repository_owner }}/tinyauth@sha256:%s ' *)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user