mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-31 20:51:56 +00:00 
			
		
		
		
	CI: Use public ARM64 Github actions runners for ARM64 builds (#5305)
This commit is contained in:
		
							
								
								
									
										55
									
								
								.github/workflows/build-nightly-container.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										55
									
								
								.github/workflows/build-nightly-container.yml
									
									
									
									
										vendored
									
									
								
							| @@ -17,17 +17,27 @@ on: | ||||
|  | ||||
| jobs: | ||||
|   release: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         include: | ||||
|           - os: ubuntu-latest | ||||
|             platform: linux/amd64 | ||||
|             name: "AMD64" | ||||
|             dockerfile: "docker/Dockerfile" | ||||
|             tag_suffix: "" | ||||
|             # GitHub doesn't have a ubuntu-latest-arm runner | ||||
|           - os: ubuntu-24.04-arm | ||||
|             platform: linux/arm64/v8 | ||||
|             name: "ARM64" | ||||
|             dockerfile: "docker/Dockerfile.arm64" | ||||
|             tag_suffix: "-arm64" | ||||
|  | ||||
|     runs-on: ${{ matrix.os }} | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: Set up QEMU | ||||
|         uses: docker/setup-qemu-action@v3 | ||||
|         with: | ||||
|           platforms: arm64 | ||||
|  | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|  | ||||
| @@ -43,45 +53,22 @@ jobs: | ||||
|         uses: docker/metadata-action@v5 | ||||
|         with: | ||||
|           images: quay.io/invidious/invidious | ||||
|           flavor: | | ||||
|             suffix=${{ matrix.tag_suffix }} | ||||
|           tags: | | ||||
|             type=sha,format=short,prefix={{date 'YYYY.MM.DD'}}-,enable=${{ github.ref == format('refs/heads/{0}', 'master') }} | ||||
|             type=raw,value=master,enable=${{ github.ref == format('refs/heads/{0}', 'master') }} | ||||
|           labels: | | ||||
|             quay.expires-after=12w | ||||
|  | ||||
|       - name: Build and push Docker AMD64 image for Push Event | ||||
|       - name: Build and push Docker ${{ matrix.name }} image for Push Event | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: . | ||||
|           file: docker/Dockerfile | ||||
|           platforms: linux/amd64 | ||||
|           file:  ${{ matrix.dockerfile }} | ||||
|           platforms: ${{ matrix.platform }} | ||||
|           labels: ${{ steps.meta.outputs.labels }} | ||||
|           push: true | ||||
|           tags: ${{ steps.meta.outputs.tags }} | ||||
|           build-args: | | ||||
|             "release=1" | ||||
|  | ||||
|       - name: Docker meta | ||||
|         id: meta-arm64 | ||||
|         uses: docker/metadata-action@v5 | ||||
|         with: | ||||
|           images: quay.io/invidious/invidious | ||||
|           flavor: | | ||||
|             suffix=-arm64 | ||||
|           tags: | | ||||
|             type=sha,format=short,prefix={{date 'YYYY.MM.DD'}}-,enable=${{ github.ref == format('refs/heads/{0}', 'master') }} | ||||
|             type=raw,value=master,enable=${{ github.ref == format('refs/heads/{0}', 'master') }} | ||||
|           labels: | | ||||
|             quay.expires-after=12w | ||||
|  | ||||
|       - name: Build and push Docker ARM64 image for Push Event | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: . | ||||
|           file: docker/Dockerfile.arm64 | ||||
|           platforms: linux/arm64/v8 | ||||
|           labels: ${{ steps.meta-arm64.outputs.labels }} | ||||
|           push: true | ||||
|           tags: ${{ steps.meta-arm64.outputs.tags }} | ||||
|           build-args: | | ||||
|             "release=1" | ||||
|   | ||||
							
								
								
									
										55
									
								
								.github/workflows/build-stable-container.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										55
									
								
								.github/workflows/build-stable-container.yml
									
									
									
									
										vendored
									
									
								
							| @@ -8,17 +8,27 @@ on: | ||||
|  | ||||
| jobs: | ||||
|   release: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         include: | ||||
|           - os: ubuntu-latest | ||||
|             platform: linux/amd64 | ||||
|             name: "AMD64" | ||||
|             dockerfile: "docker/Dockerfile" | ||||
|             tag_suffix: "" | ||||
|             # GitHub doesn't have a ubuntu-latest-arm runner | ||||
|           - os: ubuntu-24.04-arm | ||||
|             platform: linux/arm64/v8 | ||||
|             name: "ARM64" | ||||
|             dockerfile: "docker/Dockerfile.arm64" | ||||
|             tag_suffix: "-arm64" | ||||
|  | ||||
|     runs-on: ${{ matrix.os }} | ||||
|  | ||||
|     steps: | ||||
|       - name: Checkout | ||||
|         uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: Set up QEMU | ||||
|         uses: docker/setup-qemu-action@v3 | ||||
|         with: | ||||
|           platforms: arm64 | ||||
|  | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|  | ||||
| @@ -36,46 +46,21 @@ jobs: | ||||
|           images: quay.io/invidious/invidious | ||||
|           flavor: | | ||||
|             latest=false | ||||
|             suffix=${{ matrix.tag_suffix }} | ||||
|           tags: | | ||||
|             type=semver,pattern={{version}} | ||||
|             type=raw,value=latest | ||||
|           labels: | | ||||
|             quay.expires-after=12w | ||||
|  | ||||
|       - name: Build and push Docker AMD64 image for Push Event | ||||
|       - name: Build and push Docker ${{ matrix.name }} image for Push Event | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: . | ||||
|           file: docker/Dockerfile | ||||
|           platforms: linux/amd64 | ||||
|           file:  ${{ matrix.dockerfile }} | ||||
|           platforms: ${{ matrix.platform }} | ||||
|           labels: ${{ steps.meta.outputs.labels }} | ||||
|           push: true | ||||
|           tags: ${{ steps.meta.outputs.tags }} | ||||
|           build-args: | | ||||
|             "release=1" | ||||
|  | ||||
|       - name: Docker meta | ||||
|         id: meta-arm64 | ||||
|         uses: docker/metadata-action@v5 | ||||
|         with: | ||||
|           images: quay.io/invidious/invidious | ||||
|           flavor: | | ||||
|             latest=false | ||||
|             suffix=-arm64 | ||||
|           tags: | | ||||
|             type=semver,pattern={{version}} | ||||
|             type=raw,value=latest | ||||
|           labels: | | ||||
|             quay.expires-after=12w | ||||
|  | ||||
|       - name: Build and push Docker ARM64 image for Push Event | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: . | ||||
|           file: docker/Dockerfile.arm64 | ||||
|           platforms: linux/arm64/v8 | ||||
|           labels: ${{ steps.meta-arm64.outputs.labels }} | ||||
|           push: true | ||||
|           tags: ${{ steps.meta-arm64.outputs.tags }} | ||||
|           build-args: | | ||||
|             "release=1" | ||||
|   | ||||
							
								
								
									
										43
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @@ -83,14 +83,27 @@ jobs: | ||||
|         run: crystal build --warnings all --error-on-warnings --error-trace src/invidious.cr | ||||
|  | ||||
|   build-docker: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         include: | ||||
|           - os: ubuntu-latest | ||||
|             name: "AMD64" | ||||
|             # GitHub doesn't have a ubuntu-latest-arm runner | ||||
|           - os: ubuntu-24.04-arm | ||||
|             name: "ARM64" | ||||
|  | ||||
|     runs-on: ubuntu-latest | ||||
|     name: Test ${{ matrix.name }} Docker build | ||||
|     runs-on: ${{ matrix.os }} | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: Use ARM64 Dockerfile if ARM64 | ||||
|         if: ${{ matrix.name }} == "ARM64" | ||||
|         run: sed -i 's/Dockerfile/Dockerfile.arm64/' docker-compose.yml | ||||
|  | ||||
|       - name: Build Docker | ||||
|         run: docker compose build --build-arg release=0 | ||||
|         run: docker compose build | ||||
|  | ||||
|       - name: Run Docker | ||||
|         run: docker compose up -d | ||||
| @@ -98,32 +111,6 @@ jobs: | ||||
|       - name: Test Docker | ||||
|         run: while curl -Isf http://localhost:3000; do sleep 1; done | ||||
|  | ||||
|   build-docker-arm64: | ||||
|  | ||||
|     runs-on: ubuntu-latest | ||||
|  | ||||
|     steps: | ||||
|       - uses: actions/checkout@v5 | ||||
|  | ||||
|       - name: Set up QEMU | ||||
|         uses: docker/setup-qemu-action@v3 | ||||
|         with: | ||||
|           platforms: arm64 | ||||
|  | ||||
|       - name: Set up Docker Buildx | ||||
|         uses: docker/setup-buildx-action@v3 | ||||
|  | ||||
|       - name: Build Docker ARM64 image | ||||
|         uses: docker/build-push-action@v6 | ||||
|         with: | ||||
|           context: . | ||||
|           file: docker/Dockerfile.arm64 | ||||
|           platforms: linux/arm64/v8 | ||||
|           build-args: release=0 | ||||
|  | ||||
|       - name: Test Docker | ||||
|         run: while curl -Isf http://localhost:3000; do sleep 1; done | ||||
|  | ||||
|   lint: | ||||
|  | ||||
|     runs-on: ubuntu-latest | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 syeopite
					syeopite