Skip to content

Commit

Permalink
ci: update the workflow to multiple jobs and add publish job
Browse files Browse the repository at this point in the history
  • Loading branch information
rainx committed Sep 25, 2023
1 parent a5e9188 commit 8eff95b
Show file tree
Hide file tree
Showing 2 changed files with 72 additions and 10 deletions.
80 changes: 71 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,90 @@ on:
branches: [main]

jobs:
build:
install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Prepare pnpm
uses: pnpm/action-setup@v2

- name: Prepare Node.js
uses: actions/[email protected]
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: pnpm
- run: pnpm install

- name: Install deps
run: pnpm install
test:
needs: install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: pnpm
- run: pnpm install

- name: Prettier code style check
run: pnpm prettier . --check

- name: Test
run: pnpm run test

build:
needs: install
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: pnpm
- run: pnpm install

- name: Build
run: pnpm run build

- name: Archive production artifacts
uses: actions/upload-artifact@v3
with:
name: mono-repos-dist
path: |
packages/**/dist/**
publish:
needs: [build, test]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
- uses: actions/setup-node@v3
with:
node-version-file: .node-version
cache: pnpm
- run: pnpm install

- name: Download production artifacts
uses: actions/download-artifact@v3
with:
name: mono-repos-dist

- name: Publish (development)
if: github.event.pull_request.head.repo.full_name == 'RightCapitalHQ/frontend-style-guide' && github.base_ref == github.event.repository.default_branch
env:
NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
run: |
npm config set //registry.npmjs.org/:_authToken "${NPM_TOKEN}"
preid=$(sed -e s:/:-:g <<<${{ github.head_ref }}).${{ github.run_number }}.${{ github.run_attempt }}
pnpm --filter './packages/*' exec npm --no-git-tag-version version prerelease --preid="${preid}"
pnpm --filter './packages/*' publish --no-git-checks --access public --tag development
- name: Publish (main)
if: github.repository == 'RightCapitalHQ/frontend-style-guide' && github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
env:
NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
run: |
npm config set //registry.npmjs.org/:_authToken "${NPM_TOKEN}"
git config --local user.email "[email protected]"
git config --local user.name "GitHub Actions[bot]"
pnpm beachball publish --yes -m 'chore(release): applying package updates'
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
"create:library": "python scripts/create-new-library.py",
"commit": "cz",
"changelog:fix": "pnpm eachpkg --parallel exec generate-changelog",
"change": "beachball change",
"change": "beachball change --no-commit",
"check": "beachball check"
},
"license": "MIT",
Expand Down

0 comments on commit 8eff95b

Please sign in to comment.