Skip to content

style: lint

style: lint #69

Workflow file for this run

name: CI
on:
push:
branches:
- '**'
tags-ignore:
- '**' # Ignore tags created by releases
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
jobs:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup and Install
id: install
uses: ./.github/actions/setup-and-install
- name: Lint
run: pnpm lint
test:
name: Test
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- name: Setup and Install
id: install
uses: ./.github/actions/setup-and-install
with:
node-version: ${{ matrix.version }}
- name: Build
run: pnpm build
- name: Test
run: pnpm test
release:
name: Release
runs-on: ubuntu-latest
needs: [lint,test]
if: github.ref == 'refs/heads/main'
permissions:
id-token: write # needed for npm publish with provenance
contents: write # needed for github release
steps:
- uses: actions/checkout@v4
- name: Setup and Install
id: install
uses: ./.github/actions/setup-and-install
- name: Build
run: pnpm build
- name: Publish to NPM
id: publish
uses: JS-DevTools/npm-publish@v3
with:
token: ${{ secrets.NPM_TOKEN }}
dry-run: false
provenance: true
- name: Post publish
if: steps.publish.outputs.type != ''
run: |
echo "Published ${{ steps.publish.outputs.type }} version: ${{ steps.publish.outputs.version }}"
- name: Publish skipped
if: steps.publish.outputs.type == ''
run: |
echo "Version in package.json has not changed. Skipping."
exit 0
- name: Create Release
if: steps.publish.outputs.type != ''
id: release
uses: ncipollo/release-action@v1 # https://github.com/ncipollo/release-action
with:
allowUpdates: true
generateReleaseNotes: true
commit: ${{ github.sha }}
draft: false
name: v${{ steps.publish.outputs.version }}
tag: v${{ steps.publish.outputs.version }}