ci(changeset): release milkdown (#1492) #1703
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: On Push | |
on: | |
push: | |
branches: main | |
env: | |
CI: true | |
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} | |
jobs: | |
build-test-release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout code repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: setup node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20.11.0 | |
- uses: pnpm/action-setup@v4.0.0 | |
with: | |
run_install: false | |
- name: get pnpm store directory | |
id: pnpm-cache | |
run: echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- name: load cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/Cypress | |
${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }} | |
- uses: nrwl/nx-set-shas@v4 | |
- run: npx nx-cloud start-ci-run --distribute-on="3 linux-medium-js" --require-explicit-completion | |
- name: install dependencies | |
run: pnpm install | |
# build all the packages to prepare for release | |
- name: build packs | |
run: pnpm build | |
- name: run lint | |
run: pnpm test:lint | |
- name: run unit tests | |
run: pnpm test:unit | |
- name: run cypress | |
run: pnpm nx affected -t e2e-ci @milkdown/e2e | |
- run: npx nx-cloud complete-ci-run | |
if: always() | |
- name: create versions or publish to npm registry | |
uses: changesets/action@v1 | |
with: | |
publish: pnpm release | |
commit: 'ci(changeset): release milkdown' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
- name: Upload test results | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: test-results-main | |
path: dist/cypress | |
if-no-files-found: ignore |