mirror of
https://github.com/grafana/grafana.git
synced 2024-12-01 13:09:22 -06:00
76 lines
3.2 KiB
YAML
76 lines
3.2 KiB
YAML
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 or major.minor.patch-beta<number> format. example: 7.4.3 or 7.4.3-beta1'
|
|
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+(?:-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-beta.1"
|
|
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<number> 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: Run bump version (manually invoked)
|
|
uses: ./actions/bump-version
|
|
with:
|
|
token: ${{ secrets.GH_BOT_ACCESS_TOKEN }}
|
|
metricsWriteAPIKey: ${{ secrets.GRAFANA_MISC_STATS_API_KEY }}
|