mirror of
				https://github.com/steveiliop56/tinyauth.git
				synced 2025-10-30 21:55:43 +00:00 
			
		
		
		
	feat: add experimental docker build
This commit is contained in:
		
							
								
								
									
										142
									
								
								.github/workflows/experimental-build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										142
									
								
								.github/workflows/experimental-build.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,142 @@ | |||||||
|  | name: Experimental Build (Alpha) | ||||||
|  | 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: 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: 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 | ||||||
|  |     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 ' *) | ||||||
|  |  | ||||||
|  |   release: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     needs: | ||||||
|  |       - build | ||||||
|  |       - merge | ||||||
|  |     steps: | ||||||
|  |       - name: Create alpha release | ||||||
|  |         uses: softprops/action-gh-release@v2 | ||||||
|  |         with: | ||||||
|  |           prerelease: true | ||||||
|  |           tag_name: ${{ github.ref_name }} | ||||||
		Reference in New Issue
	
	Block a user
	 Stavros
					Stavros