fix: rollup #287
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: 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." |