-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
8 changed files
with
5,166 additions
and
3,521 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,17 @@ | ||
name: Auto approve | ||
|
||
on: | ||
pull_request: | ||
types: [labeled] | ||
pull_request: | ||
types: [labeled] | ||
|
||
jobs: | ||
auto-approve: | ||
if: | | ||
github.actor == 'foxbot76' && | ||
github.event.label.name == 'automated pr 🔧' | ||
auto-approve: | ||
if: | | ||
github.actor == 'foxbot76' && | ||
github.event.label.name == 'automated pr 🔧' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: hmarr/auto-approve-action@v4 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: hmarr/auto-approve-action@v4 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,86 +1,86 @@ | ||
name: Official release | ||
|
||
on: | ||
workflow_dispatch: # Manually on demand | ||
inputs: | ||
versionBump: | ||
description: 'Type of version bump' | ||
required: true | ||
default: 'patch' | ||
type: choice | ||
options: | ||
- patch | ||
- minor | ||
- major | ||
workflow_dispatch: # Manually on demand | ||
inputs: | ||
versionBump: | ||
description: 'Type of version bump' | ||
required: true | ||
default: 'patch' | ||
type: choice | ||
options: | ||
- patch | ||
- minor | ||
- major | ||
|
||
jobs: | ||
publish-config: | ||
runs-on: ubuntu-20.04 | ||
publish-config: | ||
runs-on: ubuntu-20.04 | ||
|
||
strategy: | ||
matrix: | ||
node: [20.x] # This should be LTS | ||
strategy: | ||
matrix: | ||
node: [20.x] # This should be LTS | ||
|
||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # Fetch the history, or this action won't work | ||
steps: | ||
- name: Checkout code | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # Fetch the history, or this action won't work | ||
|
||
- name: Use Node.js ${{ matrix.node }} | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ matrix.node }} | ||
- name: Use Node.js ${{ matrix.node }} | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: ${{ matrix.node }} | ||
|
||
- name: Install dependencies | ||
run: npm ci | ||
- name: Install dependencies | ||
run: npm ci | ||
|
||
- name: Prepare release | ||
env: | ||
VERSION_BUMP: ${{ inputs.versionBump }} | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "Github Action" | ||
npm run release -- ${VERSION_BUMP} | ||
- name: Prepare release | ||
env: | ||
VERSION_BUMP: ${{ inputs.versionBump }} | ||
run: | | ||
git config --global user.email "[email protected]" | ||
git config --global user.name "Github Action" | ||
- name: Determine the version bump | ||
id: version | ||
uses: actions/github-script@v7 | ||
with: | ||
result-encoding: string | ||
script: | | ||
const package = require('./package.json'); | ||
return package.version | ||
npm run release -- ${VERSION_BUMP} | ||
- name: Extract the commit body | ||
id: extract_release | ||
# The body may be multiline, therefore we need to escape some characters | ||
run: | | ||
VERSION="${{ github.ref }}" | ||
VERSION=${VERSION##*/v} | ||
echo "::set-output name=VERSION::$VERSION" | ||
BODY=$(git show -s --format=%b) | ||
BODY="${BODY//'%'/'%25'}" | ||
BODY="${BODY//$'\n'/'%0A'}" | ||
BODY="${BODY//$'\r'/'%0D'}" | ||
echo "::set-output name=BODY::$BODY" | ||
- name: Determine the version bump | ||
id: version | ||
uses: actions/github-script@v7 | ||
with: | ||
result-encoding: string | ||
script: | | ||
const package = require('./package.json'); | ||
return package.version | ||
- name: Create Pull Request | ||
id: cpr | ||
uses: peter-evans/create-pull-request@v6 | ||
with: | ||
token: ${{ secrets.PR_TOKEN }} | ||
commit-message: "[OFFICIAL RELEASE] ${{ steps.version.outputs.result }}" | ||
committer: foxbot76 <[email protected]> | ||
author: foxbot76 <[email protected]> | ||
signoff: false | ||
branch: official-release | ||
delete-branch: true | ||
title: "[OFFICIAL RELEASE] ${{ steps.version.outputs.result }}" | ||
body: | | ||
${{ steps.extract_release.outputs.BODY }} | ||
labels: | | ||
automated pr 🔧 | ||
assignees: foxbot76 | ||
draft: false | ||
- name: Extract the commit body | ||
id: extract_release | ||
# The body may be multiline, therefore we need to escape some characters | ||
run: | | ||
VERSION="${{ github.ref }}" | ||
VERSION=${VERSION##*/v} | ||
echo "::set-output name=VERSION::$VERSION" | ||
BODY=$(git show -s --format=%b) | ||
BODY="${BODY//'%'/'%25'}" | ||
BODY="${BODY//$'\n'/'%0A'}" | ||
BODY="${BODY//$'\r'/'%0D'}" | ||
echo "::set-output name=BODY::$BODY" | ||
- name: Create Pull Request | ||
id: cpr | ||
uses: peter-evans/create-pull-request@v6 | ||
with: | ||
token: ${{ secrets.PR_TOKEN }} | ||
commit-message: '[OFFICIAL RELEASE] ${{ steps.version.outputs.result }}' | ||
committer: foxbot76 <[email protected]> | ||
author: foxbot76 <[email protected]> | ||
signoff: false | ||
branch: official-release | ||
delete-branch: true | ||
title: '[OFFICIAL RELEASE] ${{ steps.version.outputs.result }}' | ||
body: | | ||
${{ steps.extract_release.outputs.BODY }} | ||
labels: | | ||
automated pr 🔧 | ||
assignees: foxbot76 | ||
draft: false |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,91 +3,90 @@ name: Merge and Release | |
# Run this job on all pushes and pull requests | ||
# as well as tags with a semantic version | ||
on: | ||
push: | ||
branches: | ||
- '*' | ||
pull_request: {} | ||
push: | ||
branches: | ||
- '*' | ||
pull_request: {} | ||
|
||
# Cancel previous PR/branch runs when a new commit is pushed | ||
concurrency: | ||
group: ${{ github.ref }} | ||
cancel-in-progress: true | ||
group: ${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
auto-merge: | ||
if: | | ||
always() && | ||
github.event_name == 'pull_request' | ||
runs-on: ubuntu-latest | ||
auto-merge: | ||
if: | | ||
always() && | ||
github.event_name == 'pull_request' | ||
runs-on: ubuntu-latest | ||
steps: | ||
- id: automerge | ||
name: automerge | ||
uses: 'pascalgn/[email protected]' | ||
env: | ||
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' | ||
MERGE_LABELS: 'automated pr 🔧' | ||
MERGE_FILTER_AUTHOR: 'foxbot76' | ||
MERGE_FORKS: 'false' | ||
MERGE_DELETE_BRANCH: 'false' | ||
UPDATE_LABELS: 'automated pr 🔧' | ||
MERGE_METHOD: 'squash' | ||
MERGE_COMMIT_MESSAGE: 'pull-request-title-and-description' | ||
MERGE_RETRY_SLEEP: 10000 | ||
|
||
steps: | ||
- id: automerge | ||
name: automerge | ||
uses: "pascalgn/[email protected]" | ||
env: | ||
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" | ||
MERGE_LABELS: "automated pr 🔧" | ||
MERGE_FILTER_AUTHOR: "foxbot76" | ||
MERGE_FORKS: "false" | ||
MERGE_DELETE_BRANCH: "false" | ||
UPDATE_LABELS: "automated pr 🔧" | ||
MERGE_METHOD: "squash" | ||
MERGE_COMMIT_MESSAGE: "pull-request-title-and-description" | ||
MERGE_RETRY_SLEEP: 10000 | ||
- name: Checkout code | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # Fetch the history, or this action won't work | ||
ref: 'main' | ||
|
||
- name: Checkout code | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # Fetch the history, or this action won't work | ||
ref: 'main' | ||
- name: Use Node.js ${{ matrix.node-version }} | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20.x | ||
|
||
- name: Use Node.js ${{ matrix.node-version }} | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
uses: actions/setup-node@v4 | ||
with: | ||
node-version: 20.x | ||
- name: Determine version | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
id: version | ||
uses: actions/github-script@v7 | ||
with: | ||
result-encoding: string | ||
script: | | ||
return require('./package.json').version; | ||
- name: Determine version | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
id: version | ||
uses: actions/github-script@v7 | ||
with: | ||
result-encoding: string | ||
script: | | ||
return require('./package.json').version; | ||
- name: Extract the commit body | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
id: extract_release | ||
# The body may be multiline, therefore we need to escape some characters | ||
run: | | ||
BODY=$(git show -s --format=%b) | ||
BODY="${BODY//'%'/'%25'}" | ||
BODY="${BODY//$'\n'/'%0A'}" | ||
BODY="${BODY//$'\r'/'%0D'}" | ||
echo "::set-output name=BODY::$BODY" | ||
- name: Extract the commit body | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
id: extract_release | ||
# The body may be multiline, therefore we need to escape some characters | ||
run: | | ||
BODY=$(git show -s --format=%b) | ||
BODY="${BODY//'%'/'%25'}" | ||
BODY="${BODY//$'\n'/'%0A'}" | ||
BODY="${BODY//$'\r'/'%0D'}" | ||
echo "::set-output name=BODY::$BODY" | ||
- name: Install Dependencies | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
run: npm ci | ||
|
||
- name: Install Dependencies | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
run: npm ci | ||
# The prepublish script also creates a build | ||
- name: Publish package to npm | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
run: | | ||
npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }} | ||
npm whoami | ||
npm publish | ||
# The prepublish script also creates a build | ||
- name: Publish package to npm | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
run: | | ||
npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }} | ||
npm whoami | ||
npm publish | ||
- name: Create Github Release | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
uses: ncipollo/release-action@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag: v${{ steps.version.outputs.result }} | ||
name: Release v${{ steps.version.outputs.result }} | ||
draft: false | ||
prerelease: ${{ contains(steps.version.outputs.result, '-') }} | ||
body: ${{ steps.extract_release.outputs.BODY }} | ||
- name: Create Github Release | ||
if: steps.automerge.outputs.mergeResult == 'merged' | ||
uses: ncipollo/release-action@v1 | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
with: | ||
tag: v${{ steps.version.outputs.result }} | ||
name: Release v${{ steps.version.outputs.result }} | ||
draft: false | ||
prerelease: ${{ contains(steps.version.outputs.result, '-') }} | ||
body: ${{ steps.extract_release.outputs.BODY }} |
Oops, something went wrong.