1
0
Fork 0
mirror of https://github.com/mealie-recipes/mealie.git synced 2025-07-19 05:09:40 +02:00

dev: add pull request image build workflow (#5235)

This commit is contained in:
Kuchenpirat 2025-03-30 20:38:01 +02:00 committed by GitHub
parent 07cd98c125
commit b994d27b0c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
8 changed files with 58 additions and 32 deletions

View file

@ -1,4 +1,4 @@
name: Package build
name: Build Package
on:
workflow_call:

View file

@ -3,15 +3,8 @@ on:
workflow_call:
jobs:
build-package:
name: "Build Python package"
uses: ./.github/workflows/partial-package.yml
with:
tag: e2e
test:
timeout-minutes: 60
needs: build-package
runs-on: ubuntu-latest
defaults:
run:

View file

@ -18,13 +18,19 @@ concurrency:
jobs:
backend-tests:
name: "Backend Server Tests"
uses: ./.github/workflows/partial-backend.yml
uses: ./.github/workflows/test-backend.yml
frontend-tests:
name: "Frontend Tests"
uses: ./.github/workflows/partial-frontend.yml
uses: ./.github/workflows/test-frontend.yml
build-release:
build-package:
name: Build Package
uses: ./.github/workflows/build-package.yml
with:
tag: nightly
publish:
permissions:
contents: read
packages: write
@ -35,10 +41,11 @@ jobs:
id-token: write
name: Build Tagged Release
if: github.repository == 'mealie-recipes/mealie'
uses: ./.github/workflows/partial-builder.yml
uses: ./.github/workflows/publish.yml
needs:
- frontend-tests
- backend-tests
- build-package
with:
tag: nightly
secrets:
@ -49,7 +56,7 @@ jobs:
name: Notify Discord
if: github.repository == 'mealie-recipes/mealie'
needs:
- build-release
- publish
runs-on: ubuntu-latest
steps:
- name: Discord notification

View file

@ -16,14 +16,7 @@ on:
required: true
jobs:
build-package:
name: "Build Python package"
uses: ./.github/workflows/partial-package.yml
with:
tag: ${{ inputs.tag }}
publish:
needs: build-package
runs-on: ubuntu-latest
steps:
- name: Checkout repository

View file

@ -16,20 +16,16 @@ jobs:
backend-tests:
name: "Backend Server Tests"
uses: ./.github/workflows/partial-backend.yml
uses: ./.github/workflows/test-backend.yml
frontend-tests:
name: "Frontend Tests"
uses: ./.github/workflows/partial-frontend.yml
uses: ./.github/workflows/test-frontend.yml
container-scanning:
name: "Trivy Container Scanning"
uses: ./.github/workflows/partial-trivy-container-scanning.yml
end-to-end:
name: "End-to-End Tests"
uses: ./.github/workflows/e2e.yml
code-ql:
name: "CodeQL"
uses: ./.github/workflows/codeql.yml
@ -37,3 +33,33 @@ jobs:
actions: read
contents: read
security-events: write
build-package:
name: "Build Python package"
uses: ./.github/workflows/build-package.yml
with:
tag: e2e
end-to-end:
name: "End-to-End Tests"
needs: build-package
uses: ./.github/workflows/e2e.yml
publish-image:
name: "Publish PR Image"
if: contains(github.event.pull_request.labels.*.name, 'build-image')
permissions:
contents: read
packages: write
# The id-token write permission is needed to connect to Depot.dev
# as part of the partial-builder.yml action. It needs to be declared
# in the parent action, as noted here:
# https://github.com/orgs/community/discussions/76409#discussioncomment-8131390
id-token: write
needs: build-package
uses: ./.github/workflows/publish.yml
with:
tag: pr-${{ github.event.pull_request.number }}
secrets:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

View file

@ -7,13 +7,19 @@ on:
jobs:
backend-tests:
name: "Backend Server Tests"
uses: ./.github/workflows/partial-backend.yml
uses: ./.github/workflows/test-backend.yml
frontend-tests:
name: "Frontend Tests"
uses: ./.github/workflows/partial-frontend.yml
uses: ./.github/workflows/test-frontend.yml
build-release:
build-package:
name: Build Package
uses: ./.github/workflows/build-package.yml
with:
tag: release
publish:
permissions:
contents: read
packages: write
@ -23,10 +29,11 @@ jobs:
# https://github.com/orgs/community/discussions/76409#discussioncomment-8131390
id-token: write
name: Build Tagged Release
uses: ./.github/workflows/partial-builder.yml
uses: ./.github/workflows/publish.yml
needs:
- backend-tests
- frontend-tests
- build-package
with:
tag: ${{ github.event.release.tag_name }}
tags: |
@ -39,7 +46,7 @@ jobs:
notify-discord:
name: Notify Discord
needs:
- build-release
- publish
runs-on: ubuntu-latest
steps:
- name: Discord notification
@ -52,7 +59,7 @@ jobs:
update-image-tags:
name: Update image tag in sample docker-compose files
needs:
- build-release
- publish
runs-on: ubuntu-latest
permissions:
contents: write