From b9c231a67afb43736533e197f5cafd423d336b4f Mon Sep 17 00:00:00 2001 From: "grafana-delivery-bot[bot]" <132647405+grafana-delivery-bot[bot]@users.noreply.github.com> Date: Wed, 26 Jun 2024 01:10:38 +0300 Subject: [PATCH] [v10.2.x] revert bump version (#89740) [9.5.x] revert bump version for v9.5.x (#89729) * CI: Add bump-version action to the release PR workflow (#89491) * Replace bump-version workflow with the old one bump-version workflow * remove bump-version action since it can't be used on this branch (yet) (cherry picked from commit 9a3a8d5dcbf9e3689800d46b29bcc4c2d7410200) Co-authored-by: Kevin Minehart <5140827+kminehart@users.noreply.github.com> --- .github/workflows/bump-version.yml | 92 +++++++++++++++++++++--------- 1 file changed, 65 insertions(+), 27 deletions(-) diff --git a/.github/workflows/bump-version.yml b/.github/workflows/bump-version.yml index 5f0b7cf3020..c8458a4846a 100644 --- a/.github/workflows/bump-version.yml +++ b/.github/workflows/bump-version.yml @@ -3,41 +3,79 @@ on: workflow_dispatch: inputs: version: - description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch, major.minor.patch-preview or major.minor.patch-preview format. example: 7.4.3, 7.4.3-preview or 7.4.3-preview1' + description: 'Needs to match, exactly, the name of a milestone. The version to be released please respect: major.minor.patch or major.minor.patch-beta format. example: 7.4.3 or 7.4.3-beta1' required: true - push: - default: true - required: false - dry_run: - default: false - required: false +env: + YARN_ENABLE_IMMUTABLE_INSTALLS: false jobs: main: runs-on: ubuntu-latest steps: - - name: Checkout Grafana - uses: actions/checkout@v4 - - name: Update package.json versions - uses: ./pkg/build/actions/bump-version + # This is a basic workflow to help you get started with Actions + - uses: actions-ecosystem/action-regex-match@v2.0.2 + if: ${{ github.event.inputs.version != '' }} + id: regex-match with: - version: ${{ inputs.version }} - - if: ${{ inputs.push }} - name: Generate token + text: ${{ github.event.inputs.version }} + regex: '^(\d+.\d+).\d+(?:-beta\d+)?$' + - uses: actions-ecosystem/action-regex-match@v2.0.2 + if: ${{ inputs.version_call != '' }} + id: regex-match-version-call + with: + text: ${{ inputs.version_call }} + regex: '^(\d+.\d+).\d+(?:-beta\d+)?$' + - name: Validate input version + if: ${{ steps.regex-match.outputs.match == '' && github.event.inputs.version != '' }} + run: | + echo "The input version format is not correct, please respect:\ + major.minor.patch or major.minor.patch-beta.number format. \ + example: 7.4.3 or 7.4.3-beta1" + exit 1 + - name: Validate input version call + if: ${{ inputs.version_call != '' && steps.regex-match-version-call.outputs.match == '' }} + run: | + echo "The input version format is not correct, please respect:\ + major.minor.patch or major.minor.patch-beta format. \ + example: 7.4.3 or 7.4.3-beta1" + exit 1 + + - uses: actions/checkout@v3 + + - name: Set intermedia variables + id: intermedia + run: | + echo "short_ref=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT + echo "check_passed=false" >> $GITHUB_OUTPUT + echo "branch_name=v${{steps.regex-match.outputs.group1}}" >> $GITHUB_OUTPUT + echo "branch_exist=$(git ls-remote --heads https://github.com/grafana/grafana.git v${{ steps.regex-match.outputs.group1 }}.x | wc -l)" >> $GITHUB_OUTPUT + + - name: Check input version is aligned with branch(main) + if: ${{ github.event.inputs.version != '' && steps.intermedia.outputs.branch_exist == '0' && !contains(steps.intermedia.outputs.short_ref, 'main') }} + run: | + echo "When you want to deliver a new new minor version, you might want to create a new branch first \ + with naming convention v[major].[minor].x, and just run the workflow on that branch. \ + Run the workflow on main only when needed" + exit 1 + + - name: Checkout Actions + uses: actions/checkout@v3 + with: + repository: "grafana/grafana-github-actions" + path: ./actions + ref: main + - uses: actions/setup-node@v3.5.1 + with: + node-version: '16' + - name: Install Actions + run: npm install --production --prefix ./actions + - name: "Generate token" id: generate_token uses: tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92 with: app_id: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_ID }} private_key: ${{ secrets.GRAFANA_DELIVERY_BOT_APP_PEM }} - - if: ${{ inputs.push }} - name: Push & Create PR - run: | - git config --local user.name "github-actions[bot]" - git config --local user.email "github-actions[bot]@users.noreply.github.com" - git config --local --add --bool push.autoSetupRemote true - git checkout -b "bump-version/${{ github.run_id }}/${{ inputs.version }}" - git add . - git commit -m "bump version ${{ inputs.version }}" - git push - gh pr create --dry-run=${{ inputs.dry_run }} -l "type/ci" -l "no-changelog" -B "${{ github.ref_name }}" --title "Release: Bump version to ${{ inputs.version }}" --body "Updated version to ${{ inputs.version }}" - env: - GH_TOKEN: ${{ steps.generate_token.outputs.token }} + - name: Run bump version (manually invoked) + uses: ./actions/bump-version + with: + token: ${{ steps.generate_token.outputs.token }} + metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}