Skip to content

Merge pull request #585 from Tirke/renovate/pnpm-action-setup-4.x #643

Merge pull request #585 from Tirke/renovate/pnpm-action-setup-4.x

Merge pull request #585 from Tirke/renovate/pnpm-action-setup-4.x #643

Workflow file for this run

name: Test and release
concurrency: ${{ github.workflow }}-${{ github.ref }}
on:
push:
branches:
- main
permissions: write-all
jobs:
testing:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18.x, 20.x]
tools-version: [[5, 4.4], [6, 5.0], [7, 6.0]]
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/[email protected]
- name: Install node ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
- name: Start Redis ${{ matrix.tools-version[0] }}
uses: supercharge/[email protected]
with:
redis-version: ${{ matrix.tools-version[0] }}
- name: Start MongoDB ${{ matrix.tools-version[1] }}
uses: supercharge/[email protected]
with:
mongodb-version: ${{ matrix.tools-version[1] }}
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm exec nx run-many --target=build --all
- name: Lint
run: pnpm exec nx run-many --target=lint --all
- name: Test
run: pnpm exec nx run-many --target=test --all
- name: Upload coverage
uses: codecov/codecov-action@v4
publishing:
runs-on: ubuntu-latest
needs: [testing]
steps:
- name: Checkout repo
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Install pnpm
uses: pnpm/[email protected]
- name: Install node
uses: actions/setup-node@v4
with:
node-version-file: '.node-version'
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build
run: pnpm exec nx run-many --target=build --all --skip-nx-cache
- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
commit: 'chore: version packages'
title: 'chore: version packages'
publish: pnpm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}