Skip to content

Update Pino logger packages + type fixes #769

Update Pino logger packages + type fixes

Update Pino logger packages + type fixes #769

name: Check Pull Request
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
permissions:
contents: write
packages: write
jobs:
install:
name: Install
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
runner:
- ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Cache dependencies
uses: actions/cache@v4
id: npm-install-cache
with:
enableCrossOsArchive: true
key: npm-install-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
path: |
designer/node_modules
model/node_modules
node_modules
- name: Setup Node.js
if: steps.npm-install-cache.outputs.cache-hit != 'true'
uses: actions/setup-node@v4
with:
cache: 'npm'
node-version-file: .nvmrc
scope: '@defra'
- name: Install dependencies
if: steps.npm-install-cache.outputs.cache-hit != 'true'
run: npm ci
build:
name: Build
runs-on: ${{ matrix.runner }}
needs: [install]
strategy:
fail-fast: false
matrix:
runner:
- ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
enableCrossOsArchive: true
key: npm-install-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
path: |
designer/node_modules
model/node_modules
node_modules
- name: Cache build
uses: actions/cache@v4
with:
enableCrossOsArchive: true
key: npm-build-${{ runner.os }}-${{ github.sha }}
path: |
designer/client/dist
designer/server/dist
model/dist
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
- name: Run build
run: npm run build
lint:
name: ${{ matrix.task.description }} (${{ matrix.runner }})
runs-on: ${{ matrix.runner }}
needs: [install]
env:
# Authorise GitHub API requests for EditorConfig checker binary
# https://www.npmjs.com/package/editorconfig-checker
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
runner:
- ubuntu-latest
task:
- description: Prettier
run: npm run format:check
- description: EditorConfig
run: npm run lint:editorconfig
- description: ESLint
run: npm run lint:js
- description: TypeScript compiler
run: npm run lint:types
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
enableCrossOsArchive: true
key: npm-install-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
path: |
designer/node_modules
model/node_modules
node_modules
- name: Run lint task
run: ${{ matrix.task.run }}
tasks:
name: ${{ matrix.task.description }} (${{ matrix.runner }})
runs-on: ${{ matrix.runner }}
needs: [install, build]
strategy:
fail-fast: false
matrix:
runner:
- ubuntu-latest
task:
- description: Unit tests
run: npm run test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
enableCrossOsArchive: true
key: npm-install-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
path: |
designer/node_modules
model/node_modules
node_modules
- name: Restore build
uses: actions/cache/restore@v4
with:
enableCrossOsArchive: true
key: npm-build-${{ runner.os }}-${{ github.sha }}
path: |
designer/client/dist
designer/server/dist
model/dist
- name: Run task
run: ${{ matrix.task.run }}
publish:
name: Publish
runs-on: ubuntu-latest
needs: [install, build]
environment: production
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
concurrency:
group: publish-packages
cancel-in-progress: false
steps:
- name: Check out code
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: main
- name: Restore dependencies
uses: actions/cache/restore@v4
with:
enableCrossOsArchive: true
key: npm-install-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
path: |
designer/node_modules
model/node_modules
node_modules
- name: Restore build
uses: actions/cache/restore@v4
with:
enableCrossOsArchive: true
key: npm-build-${{ runner.os }}-${{ github.sha }}
path: |
designer/client/dist
designer/server/dist
model/dist
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
registry-url: https://registry.npmjs.org
scope: '@defra'
- name: Update package versions
run: npm version patch --workspaces --include-workspace-root --git-tag-version false --save
- name: Commit and push updates
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git commit -am "v$(npm pkg get version | tr -d \") [skip ci]" && git push
- name: Publish to npm
run: npm publish --workspace model --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}