Merge pull request #31 from Hilzu/feature/issue-8/pnpm-support #63
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: CI | |
on: | |
push: | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
jobs: | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22.5.1 | |
cache: "npm" | |
- run: npm ci | |
- run: npm test | |
create: | |
name: Create | |
strategy: | |
matrix: | |
os: [ubuntu, macos, windows] | |
node-version: [18.x, 20.x, 22.5.1] | |
package-manager: [npm, yarn, pnpm] | |
runs-on: ${{ matrix.os }}-latest | |
env: | |
NODE_DEBUG: create-ts-node | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
name: Install pnpm | |
if: matrix.package-manager == 'pnpm' | |
with: | |
version: 9 | |
- name: Use Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: ${{ matrix.package-manager }} install | |
env: | |
NODE_ENV: production | |
- run: npm install --global . | |
if: matrix.package-manager == 'npm' | |
- run: npx create-ts-node new-project | |
if: matrix.package-manager == 'npm' | |
working-directory: ${{ runner.temp }} | |
- run: yarn link | |
if: matrix.package-manager == 'yarn' | |
- run: yarn create ts-node new-project | |
if: matrix.package-manager == 'yarn' | |
working-directory: ${{ runner.temp }} | |
- name: Create package.json for pnpm | |
run: | | |
with open('package.json', 'w') as f: | |
f.write('{}') | |
shell: python | |
if: matrix.package-manager == 'pnpm' | |
working-directory: ${{ runner.temp }} | |
- run: pnpm link ${{ github.workspace }} | |
if: matrix.package-manager == 'pnpm' | |
working-directory: ${{ runner.temp }} | |
- run: pnpm exec create-ts-node new-project | |
if: matrix.package-manager == 'pnpm' | |
working-directory: ${{ runner.temp }} | |
- run: ${{ matrix.package-manager }} install | |
working-directory: ${{ runner.temp }}/new-project | |
- run: ${{ matrix.package-manager }} run build | |
working-directory: ${{ runner.temp }}/new-project | |
- run: ${{ matrix.package-manager }} test | |
working-directory: ${{ runner.temp }}/new-project |