name: Generate release PR on: workflow_dispatch: inputs: ref: description: 'Commit or branch to release' required: true default: 'master' version: description: 'Version number for the release (optional)' required: false default: '' jobs: generate-release-pr: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 with: ref: ${{ github.event.inputs.ref }} - name: Set up environment uses: ./.github/actions/setup with: download-translations: 'false' - name: Bump package versions id: bump_package_versions shell: bash run: | declare -A packages=( [web]="desktop-client" [electron]="desktop-electron" [sync]="sync-server" [api]="api" ) for key in "${!packages[@]}"; do pkg="${packages[$key]}" if [[ -n "${{ github.event.inputs.version }}" ]]; then version=$(yarn workspace @actual-app/ci-actions tsx bin/get-next-package-version.ts \ --package-json "./packages/$pkg/package.json" \ --version "${{ github.event.inputs.version }}" \ --update) else version=$(yarn workspace @actual-app/ci-actions tsx bin/get-next-package-version.ts \ --package-json "./packages/$pkg/package.json" \ --type auto \ --update) fi eval "NEW_${key^^}_VERSION=\"$version\"" done echo "version=$NEW_WEB_VERSION" >> "$GITHUB_OUTPUT" - name: Create PR uses: peter-evans/create-pull-request@c0f553fe549906ede9cf27b5156039d195d2ece0 # v8.1.0 with: token: ${{ secrets.ACTIONS_UPDATE_TOKEN }} commit-message: '🔖 (${{ steps.bump_package_versions.outputs.version }})' title: '🔖 (${{ steps.bump_package_versions.outputs.version }})' body: 'Generated by [generate-release-pr.yml](../tree/master/.github/workflows/generate-release-pr.yml)' branch: 'release/v${{ steps.bump_package_versions.outputs.version }}'