name: Publish on npm and crates on: release: types: [published] jobs: publish-on-npm-dry-run: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 registry-url: 'https://registry.npmjs.org' - uses: pnpm/action-setup@v3 name: Install pnpm with: version: 8 run_install: false - name: Install dependencies run: pnpm install - name: Install turbo run: pnpm install turbo --global - name: Build run: pnpm build - name: Publish run: pnpm publish --no-git-checks --dry-run --filter ./packages/tuono env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} publish-on-crates-dry-run: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - uses: katyo/publish-crates@v2 with: path: './crates/tuono' dry-run: true registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }} check-repo: true publish-on-npm: needs: [publish-on-crates-dry-run, publish-on-npm-dry-run] runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 registry-url: 'https://registry.npmjs.org' - uses: pnpm/action-setup@v3 name: Install pnpm with: version: 8 run_install: false - name: Install dependencies run: pnpm install - name: Install turbo run: pnpm install turbo --global - name: Build run: pnpm build - name: Publish run: pnpm publish --no-git-checks --filter ./packages/tuono env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} publish-on-crates: needs: [publish-on-crates-dry-run, publish-on-npm-dry-run] runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - uses: katyo/publish-crates@v2 with: path: './crates/tuono' registry-token: ${{ secrets.CARGO_REGISTRY_TOKEN }} check-repo: true