mirror of
https://github.com/mealie-recipes/mealie.git
synced 2025-02-23 10:27:23 -08:00
Co-authored-by: Kuchenpirat <24235032+Kuchenpirat@users.noreply.github.com> Co-authored-by: Michael Genson <71845777+michael-genson@users.noreply.github.com> Co-authored-by: Hayden <64056131+hay-kot@users.noreply.github.com>
89 lines
3.4 KiB
YAML
89 lines
3.4 KiB
YAML
name: Docker Build Production
|
|
|
|
on:
|
|
release:
|
|
types: [published]
|
|
|
|
jobs:
|
|
backend-tests:
|
|
name: "Backend Server Tests"
|
|
uses: ./.github/workflows/partial-backend.yml
|
|
|
|
frontend-tests:
|
|
name: "Frontend Tests"
|
|
uses: ./.github/workflows/partial-frontend.yml
|
|
|
|
build-release:
|
|
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
|
|
name: Build Tagged Release
|
|
uses: ./.github/workflows/partial-builder.yml
|
|
needs:
|
|
- backend-tests
|
|
- frontend-tests
|
|
with:
|
|
tag: ${{ github.event.release.tag_name }}
|
|
tags: |
|
|
hkotel/mealie:latest
|
|
ghcr.io/${{ github.repository }}:latest
|
|
secrets:
|
|
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
notify-discord:
|
|
name: Notify Discord
|
|
needs:
|
|
- build-release
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Discord notification
|
|
env:
|
|
DISCORD_WEBHOOK: ${{ secrets.DISCORD_RELEASE_WEBHOOK }}
|
|
uses: Ilshidur/action-discord@0.3.2
|
|
with:
|
|
args: "🚀 Version {{ EVENT_PAYLOAD.release.tag_name }} of Mealie has been released. See the release notes https://github.com/mealie-recipes/mealie/releases/tag/{{ EVENT_PAYLOAD.release.tag_name }}"
|
|
|
|
update-image-tags:
|
|
name: Update image tag in sample docker-compose files
|
|
needs:
|
|
- build-release
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
steps:
|
|
- name: Checkout 🛎
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Extract Version From Tag Name
|
|
run: echo "VERSION_NUM=$(echo ${{ github.event.release.tag_name }} | sed 's/^v//')" >> $GITHUB_ENV
|
|
|
|
- name: Modify version strings
|
|
run: |
|
|
sed -i 's/:v[0-9]*.[0-9]*.[0-9]*/:v${{ env.VERSION_NUM }}/' docs/docs/documentation/getting-started/installation/installation-checklist.md
|
|
sed -i 's/:v[0-9]*.[0-9]*.[0-9]*/:v${{ env.VERSION_NUM }}/' docs/docs/documentation/getting-started/installation/sqlite.md
|
|
sed -i 's/:v[0-9]*.[0-9]*.[0-9]*/:v${{ env.VERSION_NUM }}/' docs/docs/documentation/getting-started/installation/postgres.md
|
|
sed -i 's/^version = "[^"]*"/version = "${{ env.VERSION_NUM }}"/' pyproject.toml
|
|
sed -i 's/^\s*"version": "[^"]*"/"version": "${{ env.VERSION_NUM }}"/' frontend/package.json
|
|
|
|
- name: Create Pull Request
|
|
uses: peter-evans/create-pull-request@v6
|
|
# This doesn't currently work for us because it creates the PR but the workflows don't run.
|
|
# TODO: Provide a personal access token as a parameter here, that solves that problem.
|
|
# https://github.com/peter-evans/create-pull-request
|
|
with:
|
|
commit-message: "Update image tag, for release ${{ github.event.release.tag_name }}"
|
|
branch: "docs/newrelease-update-version-${{ github.event.release.tag_name }}"
|
|
labels: |
|
|
documentation
|
|
delete-branch: true
|
|
base: mealie-next
|
|
title: "docs(auto): Update image tag, for release ${{ github.event.release.tag_name }}"
|
|
body: "Auto-generated by `.github/workflows/release.yml`, on publish of release ${{ github.event.release.tag_name }}"
|