Skip to content

chore(deps): lock file maintenance (#1216) #841

chore(deps): lock file maintenance (#1216)

chore(deps): lock file maintenance (#1216) #841

Workflow file for this run

name: Release
on:
push:
branches:
- main
- next
- next-major
- alpha
- beta
# N.x (maintenance release branches)
- '[0-9]+.x'
concurrency:
group: release-${{ github.ref }}
env:
NODE_VERSION: 20.x
jobs:
publish:
name: publish
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Use Node.js ${{ env.NODE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'yarn'
- name: Configure package manager
run: |
echo Configuring NPM_TOKEN globally for .npmrc
npm config set '//registry.npmjs.org/:_authToken' ${{ env.NPM_TOKEN }}
yarn config set npmAuthToken ${{ env.NPM_TOKEN }}
npm whoami
env:
NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
- name: Install dependencies
run: yarn install --immutable
- name: Verify formatting
run: yarn format:check
- name: Lint
run: yarn lint
- name: Test
run: yarn test --coverage --silent
- name: Upload coverage to Coveralls
uses: coverallsapp/github-action@cfd0633edbd2411b532b808ba7a8b5e04f76d2c8 # v2.3.4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build
run: yarn build
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v2
id: semantic
with:
semantic_version: ^18
branches: |
[
'+([0-9])?(.{+([0-9]),x}).x',
'main',
'next',
'next-major',
{name: 'beta', prerelease: true},
{name: 'alpha', prerelease: true}
]
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Push updates to branch for major version
# If a new version is published, i.e. v1.2.3 then this step will update
# branch "v1" to this commit.
# https://github.com/reside-eng/npm-dependency-stats-action/branches
# The dist folder (built) is included so that action can be used directly from Github
# ref (where exact versions can pull from npm)
if: steps.semantic.outputs.new_release_published == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# NOTE: Git user must be set in order for amend of commit to add dist folder
# --force is used because dist is within gitignore
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add --force dist
git commit -C HEAD --amend
git push https://x-access-token:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:refs/heads/v${{steps.semantic.outputs.new_release_major_version}}
notification:
if: always()
name: notification
needs: [publish]
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- uses: technote-space/[email protected]
- uses: reside-eng/[email protected]
with:
current-status: ${{ env.WORKFLOW_CONCLUSION }}
slack-webhook: ${{ secrets.SLACK_WEBHOOK_PLATFORM_PROD }}
github-token: ${{ secrets.GITHUB_TOKEN }}