v1.2.8 #34
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
name: Pull Request Merge Workflow | |
on: | |
pull_request: | |
branches: | |
- master | |
types: [ closed ] | |
env: | |
CI: true | |
jobs: | |
lint: | |
if: "!contains(join(github.event.pull_request.labels.*.name, ','), 'Release') && github.event.pull_request.merged == true" | |
name: 'Lint and Typecheck' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Lint files | |
run: yarn lint | |
- name: Typecheck files | |
run: yarn typecheck | |
- name: Check licenses | |
id: check_licenses | |
run: | | |
npm install -g license-checker | |
license-checker --failOn "AGPL-1.0-only;AGPL-1.0-or-later;AGPL-3.0-only;AGPL-3.0-or-later;GPL-1.0-only;GPL-1.0-or-later;GPL-2.0-only;GPL-2.0-or-later;GPL-3.0-only;GPL-3.0-or-later;LGPL-2.0-only;LGPL-2.0-or-later;LGPL-2.1-only;LGPL-2.1-or-later;LGPL-3.0-only;LGPL-3.0-or-later;LGPLLR;MPL-1.1" | |
createReleasePullRequest: | |
if: "!contains(join(github.event.pull_request.labels.*.name, ','), 'Release') && github.event.pull_request.merged == true" | |
name: 'Create Release Pull Request' | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Setup | |
uses: ./.github/actions/setup | |
- name: Git Identity | |
run: | | |
git config --global user.name 'frontegg' | |
git config --global user.email '[email protected]' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Commit Version UP | |
run: | | |
yarn version --patch --no-git-tag-version --no-commit-hooks | |
- name: Pack Package | |
run: | | |
yarn pack | |
- name: Authenticate with Registry | |
run: | | |
yarn logout | |
echo "init-author-name=Frontegg LTD" > .npmrc | |
echo "[email protected]" >> .npmrc | |
echo "init-author-url=https://frontegg.com" >> .npmrc | |
echo "init-license=MIT" >> .npmrc | |
echo "always-auth=true" >> .npmrc | |
echo "registry=https://registry.npmjs.org" >> .npmrc | |
echo "_authToken=$NPM_TOKEN" >> .npmrc | |
echo "@frontegg:registry=https://registry.npmjs.org" >> .npmrc | |
echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" >> .npmrc | |
npm whoami | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} | |
- name: "Set incremented version" | |
uses: actions/github-script@v6 | |
id: 'incremented-version' | |
with: | |
result-encoding: string | |
script: | | |
const {default: fs} = await import('fs'); | |
const {version} = JSON.parse(fs.readFileSync('./package.json', {encoding: "utf-8"})); | |
return version; | |
- name: Commit changes | |
shell: bash -ex {0} | |
run: | | |
git add . && git commit -m "chore(release): publish ${{ steps.incremented-version.outputs.result }}" | |
- name: Create Release Pull Request | |
id: cpr | |
uses: peter-evans/[email protected] | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
path: ${{ secrets.GITHUB_WORKSPACE }} | |
commit-message: "Update v${{ steps.incremented-version.outputs.result }}" | |
committer: GitHub <[email protected]> | |
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>" | |
title: 'v${{ steps.incremented-version.outputs.result }}' | |
body: | | |
# v${{ steps.incremented-version.outputs.result }} | |
labels: "Type: Release" | |
branch: "release/next" | |
- name: Publish Pre-Release version to NPM | |
id: publish_pre_release_version | |
run: | | |
version=$(node -p 'require("./package.json").version') | |
echo "::set-output name=LIB_VERSION::${version}" | |
echo "Publishing DEV version - v${version}-alpha.${{ github.run_id }}" | |
yarn version --new-version "${version}-alpha.${{ github.run_id }}" --no-git-tag-version --no-commit-hooks | |
git add . | |
git commit -m "chore: prelrease version" | |
yarn pack | |
npm publish --tag next | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }} | |
- name : Notify Slack on alpha version deployment | |
uses : rtCamp/action-slack-notify@v2 | |
env : | |
SLACK_CHANNEL : frontegg-alpha-versions | |
SLACK_COLOR : ${{ job.status }} | |
SLACK_ICON : https://avatars.githubusercontent.com/u/67857107?s=40&v=4 | |
SLACK_MESSAGE : '${{ steps.publish_pre_release_version.outputs.LIB_VERSION }}-alpha.${{ github.run_id }} has been released :rocket:' | |
SLACK_TITLE : 'A new @frontegg/react alpha version!' | |
SLACK_USERNAME : ${{ github.actor }} | |
SLACK_WEBHOOK : ${{ secrets.ROTEM_SLACK_WEBHOOK }} | |
MSG_MINIMAL : true |