Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/vitest-dev/vitest. Next generation testing framework powered by Vite. vitest.dev
test testing-tools vite
Something went wrong. Try again.
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102name: Prepare Publish
on: workflow_dispatch: inputs: target_branch: description: Release target branch. required: true default: main type: string release: description: Bumpp release type. required: true default: next type: choice options: - next - patch - minor - major - prepatch - preminor - premajor version: description: Specify exact version instead of bumpp release type required: false type: string
concurrency: group: ${{ github.workflow }}-${{ inputs.target_branch }}-${{ inputs.version || inputs.release }} cancel-in-progress: false
permissions: {}
jobs: prepare: if: github.repository == 'vitest-dev/vitest' name: Prepare release PR runs-on: ubuntu-latest permissions: contents: read # checkout target branch steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: ref: ${{ inputs.target_branch }} fetch-depth: 0 persist-credentials: false
- name: Install pnpm uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4.4.0
- name: Set node version to 24 uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: node-version: 24 package-manager-cache: false
- name: Install run: pnpm install --frozen-lockfile --prefer-offline env: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: '1'
- name: Create branch and update version env: TARGET_BRANCH: ${{ inputs.target_branch }} RELEASE_TYPE: ${{ inputs.release }} RELEASE_VERSION: ${{ inputs.version }} RUN_ID: ${{ github.run_id }} run: | RELEASE_INPUT="${RELEASE_VERSION:-$RELEASE_TYPE}" PREPARE_BRANCH="prepare-$TARGET_BRANCH-$RELEASE_INPUT-$RUN_ID" git switch -c "$PREPARE_BRANCH" # The numeric prefix comes from `gh api /users/vitest-release-bot%5Bbot%5D --jq .id`. # This is just to make the avatar in the commit look pretty. git config user.name "vitest-release-bot[bot]" git config user.email "292707936+vitest-release-bot[bot]@users.noreply.github.com" pnpm run release
- id: generate-token uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0 with: client-id: ${{ secrets.RELEASE_GITHUB_APP_ID }} private-key: ${{ secrets.RELEASE_GITHUB_APP_PRIVATE_KEY }} owner: ${{ github.repository_owner }} repositories: ${{ github.event.repository.name }} permission-contents: write permission-pull-requests: write
- name: Open release PR env: TARGET_BRANCH: ${{ inputs.target_branch }} GH_TOKEN: ${{ steps.generate-token.outputs.token }} run: | PREPARE_BRANCH="$(git branch --show-current)" VERSION="$(jq -r .version package.json)" git push -u "https://x-access-token:$GH_TOKEN@github.com/$GITHUB_REPOSITORY.git" HEAD gh pr create \ --base "$TARGET_BRANCH" \ --head "$PREPARE_BRANCH" \ --title "chore: release v$VERSION" \ --body "Release PR generated by the Prepare Publish workflow: $GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"