Skip to content

fix: deps

fix: deps #288

Workflow file for this run

name: Publish
on:
push:
branches:
- main
- alpha
- beta
jobs:
get-changed-files:
name: Get Changed Files
uses: ./.github/workflows/get-changed-files.yaml
run-tests:
name: Tests
needs:
- get-changed-files
uses: ./.github/workflows/test.yaml
# Must pass in secrets here so that the calling workflow can pass in the NPM_TOKEN needed to install private packages.
secrets:
PERCY_TOKEN: ${{ secrets.PERCY_TOKEN }}
# We MUST run Percy tests on publish to update our baseline images
PREVENT_PERCY_TESTS: 'false'
publish:
name: Build and Publish Kongponents
needs:
- get-changed-files
- run-tests
# Only run the publish action (including semantic-release) if files in the /src/ directory changed.
# Should only run if files in the `src/` directory were changed
if: needs.get-changed-files.outputs.component-files-changed == 'true' || needs.get-changed-files.outputs.package-json-yarn-lock-files-changed == 'true'
runs-on: ubuntu-latest
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN_PUBLIC_PUBLISH }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.KONGPONENTS_BOT_PAT }}
- name: setup git
run: |
git config --global user.name 'kongponents-bot'
git config --global user.email '[email protected]'
- name: Create .npmrc
# Reference the env variable NPM_TOKEN here, not the secret
run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Build
run: yarn build:kongponents
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v4
env:
# Since branch protections are on (pushing commits) you need to use a bot PAT
GITHUB_TOKEN: ${{ secrets.KONGPONENTS_BOT_PAT }}
no-tests-required:
name: No Component Tests needed
needs:
- get-changed-files
if: needs.get-changed-files.outputs.component-files-changed == 'false' && needs.get-changed-files.outputs.package-json-yarn-lock-files-changed == 'false'
runs-on: ubuntu-latest
steps:
- name: Skip component tests
run: echo "No files changed in the `src/`, `docs/`, or `cypress/` directories, so no tests are needed."
no-publish-required:
name: No Build and Publish needed
needs:
- get-changed-files
if: needs.get-changed-files.outputs.components-or-docs-or-cypress-files-changed == 'false' && needs.get-changed-files.outputs.package-json-yarn-lock-files-changed == 'false'
runs-on: ubuntu-latest
steps:
- name: Skip new release
run: echo "No files changed in the `src/` directory, so no new release is required."