build(deps-dev): bump the dev-dependencies group across 1 directory with 15 updates #145
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
--- | |
# This workflow will run tests using node and then publish a package to GitHub Packages on push events to master. | |
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages | |
name: CI | |
on: | |
pull_request: | |
branches: [master] | |
types: [opened, synchronize, reopened] | |
push: | |
branches: [master] | |
jobs: | |
setup_release: | |
name: Setup Release | |
outputs: | |
publish_release: ${{ steps.setup_release.outputs.publish_release }} | |
release_body: ${{ steps.setup_release.outputs.release_body }} | |
release_commit: ${{ steps.setup_release.outputs.release_commit }} | |
release_generate_release_notes: ${{ steps.setup_release.outputs.release_generate_release_notes }} | |
release_tag: ${{ steps.setup_release.outputs.release_tag }} | |
release_version: ${{ steps.setup_release.outputs.release_version }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Release | |
id: setup_release | |
uses: LizardByte/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: latest | |
- name: Install dependencies | |
run: npm install | |
- name: Test | |
id: test | |
env: | |
FORCE_COLOR: true | |
run: | | |
npm test | |
- name: Build | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
run: npm run build | |
- name: Upload test results to Codecov | |
# any except canceled or skipped | |
if: >- | |
always() && | |
(steps.test.outcome == 'success' || steps.test.outcome == 'failure') && | |
startsWith(github.repository, 'LizardByte/') | |
uses: codecov/test-results-action@v1 | |
with: | |
fail_ci_if_error: true | |
files: ./junit.xml,!./cache | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
- name: Upload coverage | |
# any except canceled or skipped | |
if: >- | |
always() && | |
(steps.test.outcome == 'success' || steps.test.outcome == 'failure') && | |
startsWith(github.repository, 'LizardByte/') | |
uses: codecov/codecov-action@v4 | |
with: | |
disable_search: true | |
fail_ci_if_error: true | |
files: ./coverage/coverage-final.json | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
publish-gpr: | |
if: ${{ needs.setup_release.outputs.publish_release == 'true' }} | |
needs: | |
- setup_release | |
- build | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
id-token: write # required for provenance | |
packages: write | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- registry-url: "https://npm.pkg.github.com" | |
extra-args: "" | |
- registry-url: "https://registry.npmjs.org" | |
extra-args: "--provenance --access public" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: latest | |
registry-url: ${{ matrix.registry-url }} | |
scope: '@lizardbyte' | |
- name: Update package.json | |
run: | | |
npm version ${{ needs.setup_release.outputs.release_version }} --no-git-tag-version | |
- name: Install dependencies | |
run: npm install | |
- name: Build | |
run: npm run build | |
- name: Set token | |
id: token | |
run: | | |
# if github registry, use GITHUB_TOKEN | |
if [ "${{ matrix.registry-url }}" == "https://npm.pkg.github.com" ]; then | |
echo "NODE_AUTH_TOKEN=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_OUTPUT | |
else | |
echo "NODE_AUTH_TOKEN=${{ secrets.NPM_TOKEN }}" >> $GITHUB_OUTPUT | |
fi | |
- name: Publish | |
run: npm publish ${{ matrix.extra-args }} | |
env: | |
NODE_AUTH_TOKEN: ${{ steps.token.outputs.NODE_AUTH_TOKEN }} |