name: Prepare new release on: workflow_dispatch: inputs: serverBump: description: 'Bump server version' required: true default: 'false' type: choice options: - 'false' - minor - patch mobileBump: description: 'Bump mobile build number' required: false type: boolean concurrency: group: ${{ github.workflow }}-${{ github.ref }}-root cancel-in-progress: true jobs: bump_version: runs-on: ubuntu-latest outputs: ref: ${{ steps.push-tag.outputs.commit_long_sha }} steps: - name: Generate a token id: generate-token uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1 with: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ steps.generate-token.outputs.token }} - name: Install uv uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5 - name: Bump version run: misc/release/pump-version.sh -s "${{ inputs.serverBump }}" -m "${{ inputs.mobileBump }}" - name: Commit and tag id: push-tag uses: EndBug/add-and-commit@a94899bca583c204427a224a7af87c02f9b325d5 # v9 with: default_author: github_actions message: 'chore: version ${{ env.IMMICH_VERSION }}' tag: ${{ env.IMMICH_VERSION }} push: true build_mobile: uses: ./.github/workflows/build-mobile.yml needs: bump_version secrets: inherit with: ref: ${{ needs.bump_version.outputs.ref }} prepare_release: runs-on: ubuntu-latest needs: build_mobile steps: - name: Generate a token id: generate-token uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1 with: app-id: ${{ secrets.PUSH_O_MATIC_APP_ID }} private-key: ${{ secrets.PUSH_O_MATIC_APP_KEY }} - name: Checkout uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 with: token: ${{ steps.generate-token.outputs.token }} - name: Download APK uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4 with: name: release-apk-signed - name: Create draft release uses: softprops/action-gh-release@c95fe1489396fe8a9eb87c0abf8aa5b2ef267fda # v2 with: draft: true tag_name: ${{ env.IMMICH_VERSION }} generate_release_notes: true body_path: misc/release/notes.tmpl files: | docker/docker-compose.yml docker/example.env docker/hwaccel.ml.yml docker/hwaccel.transcoding.yml docker/prometheus.yml *.apk