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 and End-to-End 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: Modify version strings run: | sed -i 's/:v[0-9]*.[0-9]*.[0-9]*/:${{ github.event.release.tag_name }}/' docs/docs/documentation/getting-started/installation/sqlite.md sed -i 's/:v[0-9]*.[0-9]*.[0-9]*/:${{ github.event.release.tag_name }}/' docs/docs/documentation/getting-started/installation/postgres.md - 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 }}" 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 }}"