chore: add ESM build to icon fonts and refactor the icon docs page #979
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: AUTO npm release, docs deploy and ssr regression - on master | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
release: | |
runs-on: ubuntu-latest | |
name: Release to npm | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '22' | |
cache: 'npm' | |
- name: Install packages. | |
run: npm ci | |
- name: Set up project. | |
run: npm run bootstrap | |
- name: Run tests. | |
run: USE_REACT_STRICT_MODE=0 npm run test && npm run test:vitest && npm run cy:component | |
- name: Release to NPM | |
env: | |
NPM_TOKEN: ${{secrets.NPM_TOKEN}} | |
NPM_EMAIL: ${{secrets.NPM_EMAIL}} | |
NPM_USERNAME: ${{secrets.NPM_USERNAME}} | |
run: npm run release | |
tag: | |
needs: release | |
if: "startsWith(github.event.head_commit.message, 'chore(release)')" | |
runs-on: ubuntu-latest | |
name: Tag release commit | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up git identity | |
run: git config --global user.name "instructure-ui-ci" && git config --global user.email "[email protected]" | |
# -a -m is needed to make the tag "annotated". Lerna needs annotated tags to work correctly with verisons | |
- name: Add tag | |
run: git tag -a v$(./.github/workflows/calculateVersion.sh) -m v$(./.github/workflows/calculateVersion.sh) | |
- name: Push tags | |
run: git push origin v$(./.github/workflows/calculateVersion.sh) | |
deploy-docs: | |
needs: release | |
if: "startsWith(github.event.head_commit.message, 'chore(release)')" | |
runs-on: ubuntu-latest | |
name: Deploy docs to Netlify | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
cache: 'npm' | |
- name: Install netlify-cli | |
run: npm install --save-dev [email protected] | |
- name: Install packages. | |
run: npm ci | |
- name: Set up project. | |
run: npm run bootstrap | |
- name: Build docs-app. | |
run: npm run build:docs | |
- name: Copy redirects config file to the __build__ directory. | |
run: cp ./packages/__docs__/_redirects ./packages/__docs__/__build__ | |
- name: Deploy built docs-app to Netlify. | |
env: | |
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} | |
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} | |
run: npx netlify deploy --prod --dir ./packages/__docs__/__build__ | |
ssr-regression: | |
needs: release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Cypress run | |
uses: cypress-io/github-action@v6 | |
with: | |
working-directory: ./regression-test | |
build: npm run build | |
start: npm start |