1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-02-14 00:19:16 +01:00

chore: automate release actions (#7070)

## About the changes
Automate some of our release steps in the same workflow. This gives us
the ability to opt-out some of the jobs which allows us to release
patches to older versions without setting that patch as the latest
version (currently not covering docker publish but if this test works
successfully we might include it as well).

This comes from tests in our enterprise repository.
This commit is contained in:
Gastón Fournier 2024-05-17 10:53:24 +02:00 committed by GitHub
parent 6cc54bab2b
commit 97ef03d0c2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 63 additions and 27 deletions

View File

@ -6,12 +6,23 @@ concurrency:
permissions: permissions:
contents: write contents: write
id-token: write
on: on:
workflow_dispatch: workflow_dispatch:
inputs: inputs:
version: version:
description: What version number would you like to use? The version number should be **without** a leading `v`, e.g. `5.7.1` or `6.2.4`. description: What version number would you like to use? The version number should be **without** a leading `v`, e.g. `5.7.1` or `6.2.4`.
bump-main:
description: Should we bump the package.json main version?
required: true
type: boolean
default: true
update-version-function:
description: Should we update the version function to use this version?
required: true
type: boolean
default: true
jobs: jobs:
build: build:
@ -27,10 +38,10 @@ jobs:
fetch-depth: 0 fetch-depth: 0
token: ${{ secrets.GH_PUSH_TOKEN }} token: ${{ secrets.GH_PUSH_TOKEN }}
- name: Set up git-cliff - name: Set up git-cliff
uses: kenji-miyake/setup-git-cliff@v1 uses: kenji-miyake/setup-git-cliff@v2
- name: setup git config - name: setup git config
run: | run: |
git config user.name "GitHub Actions Bot" git config user.name "Github Actions Bot"
git config user.email "<>" git config user.email "<>"
- name: Use Node.js ${{ matrix.node-version }} - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4 uses: actions/setup-node@v4
@ -59,3 +70,48 @@ jobs:
git push --tags git push --tags
env: env:
CI: true CI: true
update-main-version:
needs: build
if: ${{ github.event.inputs.bump-main == 'true' }}
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x]
steps:
- name: checkout main branch
uses: actions/checkout@v4
with:
ref: main
fetch-depth: 0
token: ${{ secrets.GH_PUSH_TOKEN }}
- name: setup git config
run: |
git config user.name "GitHub Actions Bot"
git config user.email "<>"
- name: upgrade package version
run: |
jq --arg version "${{ github.event.inputs.version }}+main" '.version=$version' package.json > package.json.tmp
mv package.json.tmp package.json
git add package.json
git commit -m "chore: bump version to ${{ github.event.inputs.version }}+main"
git push origin main
update-version-checker:
needs: build
if: ${{ github.event.inputs.update-version-function == 'true' }}
runs-on: ubuntu-latest
steps:
- name: Authenticate Google IAM
uses: 'google-github-actions/auth@v2'
with:
workload_identity_provider: 'projects/340004706233/locations/global/workloadIdentityPools/gh-actions-pool/providers/github-actions-oidc-unleash'
service_account: 'versionUpdateSa@metrics-304612.iam.gserviceaccount.com'
token_format: 'access_token'
- name: Update version checker
uses: 'Unleash/update-version-action@v0'
with:
version: ${{ github.event.inputs.version }}
distribution: 'oss'

View File

@ -25,12 +25,6 @@ jobs:
workload_identity_provider: 'projects/340004706233/locations/global/workloadIdentityPools/gh-actions-pool/providers/github-actions-oidc-unleash' workload_identity_provider: 'projects/340004706233/locations/global/workloadIdentityPools/gh-actions-pool/providers/github-actions-oidc-unleash'
service_account: 'versionUpdateSa@metrics-304612.iam.gserviceaccount.com' service_account: 'versionUpdateSa@metrics-304612.iam.gserviceaccount.com'
token_format: 'access_token' token_format: 'access_token'
- name: Update version
if: ${{ github.event_name == 'release' }}
uses: 'Unleash/update-version-action@v0'
with:
version: ${{ github.event.release.tag_name }}
distribution: 'oss'
- name: Update version from manual dispatch - name: Update version from manual dispatch
if: ${{ inputs.version != '' }} if: ${{ inputs.version != '' }}
uses: 'Unleash/update-version-action@v0' uses: 'Unleash/update-version-action@v0'

View File

@ -82,9 +82,7 @@
"testTimeout": 10000, "testTimeout": 10000,
"globalSetup": "./scripts/jest-setup.js", "globalSetup": "./scripts/jest-setup.js",
"transform": { "transform": {
"^.+\\.tsx?$": [ "^.+\\.tsx?$": ["@swc/jest"]
"@swc/jest"
]
}, },
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$", "testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"testPathIgnorePatterns": [ "testPathIgnorePatterns": [
@ -93,13 +91,7 @@
"/frontend/", "/frontend/",
"/website/" "/website/"
], ],
"moduleFileExtensions": [ "moduleFileExtensions": ["ts", "tsx", "js", "jsx", "json"],
"ts",
"tsx",
"js",
"jsx",
"json"
],
"coveragePathIgnorePatterns": [ "coveragePathIgnorePatterns": [
"/node_modules/", "/node_modules/",
"/dist/", "/dist/",
@ -237,14 +229,8 @@
"tough-cookie": "4.1.3" "tough-cookie": "4.1.3"
}, },
"lint-staged": { "lint-staged": {
"*.{js,ts}": [ "*.{js,ts}": ["biome check --apply --no-errors-on-unmatched"],
"biome check --apply --no-errors-on-unmatched" "*.{jsx,tsx}": ["biome check --apply --no-errors-on-unmatched"],
], "*.json": ["biome format --write --no-errors-on-unmatched"]
"*.{jsx,tsx}": [
"biome check --apply --no-errors-on-unmatched"
],
"*.json": [
"biome format --write --no-errors-on-unmatched"
]
} }
} }