2. Bump versions - CLI 5.20.0-dev.6 from dev #5000
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 2. Bump versions | |
run-name: 2. Bump versions - CLI ${{ inputs.version }} from ${{ inputs.npm_channel }} | |
on: | |
workflow_dispatch: | |
inputs: | |
npm_channel: | |
description: 'Prisma CLI NPM Channel' | |
required: true | |
version: | |
description: 'New Prisma CLI version in that channel' | |
required: true | |
env: | |
ENVIRONMENT: ${{ secrets.ENVIRONMENT }} | |
PRISMA_TELEMETRY_INFORMATION: 'language-tools 2_bump_versions.yml' | |
jobs: | |
bump: | |
runs-on: ubuntu-latest | |
timeout-minutes: 7 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.PRISMA_BOT_TOKEN }} | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '18' | |
cache: 'npm' | |
- name: Install Dependencies | |
run: npm install && npm run bootstrap | |
- name: Setup Git | |
run: | | |
sh scripts/set_git_credentials.sh | |
- name: Print inputs | |
run: | | |
echo ${{github.event.inputs.npm_channel}} | |
echo ${{github.event.inputs.version}} | |
- name: Update versions file in scripts folder | |
run: | | |
echo "${{ github.event.inputs.version }}" >scripts/versions/prisma_${{ github.event.inputs.npm_channel }} | |
- name: Update next extension version in scripts folder and output for later use | |
id: update # Used to access the calculated next extension version in later steps | |
run: node scripts/bump_extension_version.js ${{ github.event.inputs.npm_channel }} | |
- name: Commit and Push | |
run: | | |
sh scripts/commit_and_push.sh "[skip ci] bump Prisma CLI ${{ github.event.inputs.npm_channel }} version to ${{ github.event.inputs.version }} and extension version to ${{ steps.update.outputs.next_extension_version }} in scripts." | |
- name: Switch branch | |
id: setup_branch | |
run: | | |
sh scripts/setup_branch.sh ${{ github.event.inputs.npm_channel }} | |
- name: Check for minor or major release | |
id: is_minor_or_major | |
run: | | |
node scripts/is_minor_or_major_release.js ${{ github.event.inputs.npm_channel }} | |
- name: Reset on 'main' branch if minor or major release | |
if: ${{steps.is_minor_or_major.outputs.is_minor_or_major_release}} | |
run: | | |
git reset --hard main | |
git push --force origin stable | |
- name: Update Prisma CLI version and VS Code extension version | |
run: | | |
node scripts/update_package_json_files.js ${{ github.event.inputs.npm_channel }} ${{ steps.update.outputs.next_extension_version }} ${{ github.event.inputs.version }} | |
- name: Install Dependencies to update lock file | |
run: npm install && npm run bootstrap | |
- name: Push to branch | |
run: | | |
sh scripts/commit_and_push.sh "[skip ci] bump extension version to ${{ steps.update.outputs.next_extension_version }} in package.json" ${{ steps.setup_branch.outputs.branch}} ${{ steps.setup_branch.outputs.new_branch }} | |
- name: Trigger next workflow for Language Server tests | |
uses: benc-uk/workflow-dispatch@v1 | |
with: | |
workflow: 3. Test Language Server and publish | |
token: ${{ secrets.PRISMA_BOT_TOKEN }} | |
inputs: '{ "npm_channel": "${{ github.event.inputs.npm_channel }}", "extension_version": "${{ steps.update.outputs.next_extension_version }}", "branch": "${{steps.setup_branch.outputs.branch}}", "trigger_reason": "Prisma CLI version ${{github.event.inputs.version}}" }' | |
- name: 'Set current job url in SLACK_FOOTER env var' | |
if: ${{ failure() }} | |
run: echo "SLACK_FOOTER=<$GITHUB_SERVER_URL/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID|Click here to go to the job logs>" >> $GITHUB_ENV | |
- name: Slack Notification on Failure | |
if: ${{ failure() }} | |
uses: rtCamp/[email protected] | |
env: | |
SLACK_TITLE: '2. Bumping versions failed :x:' | |
SLACK_COLOR: '#FF0000' | |
SLACK_MESSAGE: '${{github.event.inputs.version}} - On new Prisma CLI version ${{github.event.inputs.version}}' | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK_FAILURES }} | |
SLACK_CHANNEL: feed-language-tools-failures | |
SLACK_USERNAME: Prismo | |
SLACK_ICON_EMOJI: ':boom:' | |
SLACK_MSG_AUTHOR: prisma-bot |