Compare commits

...

4 Commits

Author SHA1 Message Date
fallenbagel
f3e8cc3546 ci: add a job to merge and create multi-arch image
This has to be done now that arm64 and amd64 runs as two seperate jobs. Otherwise, whichever
finishes the last would override the other one when pushed
2025-01-18 19:29:04 +08:00
Fallenbagel
a8f84d4f74 ci: correct arm runner label (#1277)
The issue was all because of using the wrong label. 18 hours wasted waiting for a non-existent
runner to start. It is `ubuntu-24.04-arm`
https://github.com/orgs/community/discussions/148648#discussion-7793082
2025-01-18 19:07:45 +08:00
Fallenbagel
88e96fa163 ci: upgrade runner to ubuntu 24.04 to get arm64 runner working (#1276)
This is another attempt to get arm64 runner working by upgrading the runner to ubuntu-24-04, hoping it works better.

Related to #1275
2025-01-18 17:57:07 +08:00
Fallenbagel
2d814c1416 ci: attempt to fix arm64 runners with proper scoped caching (#1275)
Added platform specific cache scoping and turned off provenance to prevent manifest merging. In
addition we are now using ubuntu24.04 in an attempt to get the job to run as ubuntu-22.04 were
stalled for more than 18 hours.
2025-01-18 17:49:35 +08:00

View File

@@ -12,7 +12,7 @@ jobs:
test:
name: Lint & Test Build
if: github.event_name == 'pull_request'
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
container: node:22-alpine
steps:
- name: Checkout
@@ -48,7 +48,11 @@ jobs:
if: github.ref == 'refs/heads/develop' && !contains(github.event.head_commit.message, '[skip ci]')
strategy:
matrix:
runner: [ubuntu-22.04, ubuntu-22.04-arm64]
include:
- runner: ubuntu-24.04
platform: linux/amd64
- runner: ubuntu-24.04-arm
platform: linux/arm64
runs-on: ${{ matrix.runner }}
steps:
- name: Checkout
@@ -71,27 +75,52 @@ jobs:
echo "OWNER_LC=${OWNER,,}" >>${GITHUB_ENV}
env:
OWNER: ${{ github.repository_owner }}
- name: Build and push
- name: Build architecture specific images
uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
# platforms: linux/amd64,linux/arm64
platforms: ${{ matrix.runner == 'ubuntu-22.04' && 'linux/amd64' || 'linux/arm64' }}
push: true
platforms: ${{ matrix.platform }}
# dont push until merged
push: false
build-args: |
COMMIT_TAG=${{ github.sha }}
tags: |
fallenbagel/jellyseerr:develop-${{ matrix.platform }}
ghcr.io/${{ env.OWNER_LC }}/jellyseerr:develop-${{ matrix.platform }}
cache-from: type=gha,scope=${{ matrix.platform }}
cache-to: type=gha,mode=max,scope=${{ matrix.platform }}
provenance: false
create_manifest:
name: Create Multi-Architecture Image
needs: build_and_push
runs-on: ubuntu-24.04
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create and Push Multi-Architecture Image
uses: docker/build-push-action@v5
with:
images: |
fallenbagel/jellyseerr:develop-linux-amd64
fallenbagel/jellyseerr:develop-linux-arm64
ghcr.io/${{ github.repository_owner }}/jellyseerr:develop-linux-amd64
ghcr.io/${{ github.repository_owner }}/jellyseerr:develop-linux-arm64
target: |
fallenbagel/jellyseerr:develop
ghcr.io/${{ env.OWNER_LC }}/jellyseerr:develop
cache-from: type=gha
cache-to: type=gha,mode=max
ghcr.io/${{ github.repository_owner }}/jellyseerr:develop
- name: Inspect Manifest
run: |
docker buildx imagetools inspect fallenbagel/jellyseerr:develop
docker buildx imagetools inspect ghcr.io/${{ github.repository_owner }}/jellyseerr:develop
discord:
name: Send Discord Notification
needs: build_and_push
if: always() && github.event_name != 'pull_request' && !contains(github.event.head_commit.message, '[skip ci]')
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Get Build Job Status
uses: technote-space/workflow-conclusion-action@v3