name: Bump version 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' required: true env: YARN_ENABLE_IMMUTABLE_INSTALLS: false jobs: main: runs-on: ubuntu-latest steps: # 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: text: ${{ github.event.inputs.version }} regex: '^(\d+.\d+).\d+(?:-(?:(preview\d?)|(pre)))?$' - 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+(?:-(?:(preview\d?)|(pre)))?$' - 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, major.minor.patch-preview or major.minor.patch-preview format. \ example: 7.4.3, 7.4.3-preview or 7.4.3-preview1" 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, major.minor.patch-preview or major.minor.patch-preview format. \ example: 7.4.3, 7.4.3-preview or 7.4.3-preview1" 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(github.event.inputs.version, 'pre') && !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: Run bump version (manually invoked) uses: ./actions/bump-version with: token: ${{ secrets.GH_BOT_ACCESS_TOKEN }} metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}