Skip to content

4.0.1

4.0.1 #243

Workflow file for this run

name: "Publish to npm"
on:
release:
types: [published]
push:
tags:
- "*.*.*-build.*"
jobs:
release:
name: Publish stable release
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Set up NodeJS LTS
uses: actions/setup-node@v6
with:
node-version: "lts/*"
registry-url: "https://registry.npmjs.org"
- name: Update npm package manager
run: npm install -g npm@latest
- name: Checkout
uses: actions/checkout@v6
- name: Install pnpm
run: npm install -g pnpm
- name: Set pnpm store-dir path
run: mkdir -p ~/.pnpm-store && pnpm config set store-dir ~/.pnpm-store
- name: Install dependencies
run: pnpm install --no-lockfile
- name: Bump @filteringdev/tinyshield package.json version from tag
uses: TypescriptPrime/bump-packagejson-version@72720c4d073ed0c5b9e9393d7334abfe3fabb47c
- name: Bump @filteringdev/tinyshield-lib package.json version from tag
run: npm pkg set version="${GITHUB_REF_NAME#v}" -w libs
- name: Build
run: npm run build
- name: Publish @filteringdev/tinyshield to npm
working-directory: .
run: npm publish --access public
- name: Publish @filteringdev/tinyshield-lib to npm
working-directory: libs
run: npm publish --access public
if: ${{ github.event_name == 'release' && github.event.release.prerelease == false }}
beta-release:
name: Publish beta release
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Set up NodeJS LTS
uses: actions/setup-node@v6
with:
node-version: "lts/*"
registry-url: "https://registry.npmjs.org"
- name: Update npm package manager
run: npm install -g npm@latest
- name: Checkout
uses: actions/checkout@v6
- name: Install pnpm
run: npm install -g pnpm
- name: Set pnpm store-dir path
run: mkdir -p ~/.pnpm-store && pnpm config set store-dir ~/.pnpm-store
- name: Install dependencies
run: pnpm install --no-lockfile
- name: Bump @filteringdev/tinyshield package.json version from tag
uses: TypescriptPrime/bump-packagejson-version@72720c4d073ed0c5b9e9393d7334abfe3fabb47c
- name: Bump @filteringdev/tinyshield-lib package.json version from tag
run: npm pkg set version="${GITHUB_REF_NAME#v}" -w libs
- name: Build
run: npm run build
- name: Publish @filteringdev/tinyshield to npm
working-directory: .
run: npm publish --tag beta --access public
- name: Publish @filteringdev/tinyshield-lib to npm
working-directory: libs
run: npm publish --tag beta --access public
if: ${{ github.event_name == 'release' && github.event.release.prerelease == true && contains(github.event.release.tag_name, '-beta.') }}
build-release:
name: Build release (no publish)
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
steps:
- name: Set up NodeJS LTS
uses: actions/setup-node@v6
with:
node-version: "lts/*"
registry-url: "https://registry.npmjs.org"
- name: Update npm package manager
run: npm install -g npm@latest
- name: Checkout
uses: actions/checkout@v6
- name: Install pnpm
run: npm install -g pnpm
- name: Set pnpm store-dir path
run: mkdir -p ~/.pnpm-store && pnpm config set store-dir ~/.pnpm-store
- name: Install dependencies
run: pnpm install --no-lockfile
- name: Bump @filteringdev/tinyshield package.json version from tag
uses: TypescriptPrime/bump-packagejson-version@72720c4d073ed0c5b9e9393d7334abfe3fabb47c
- name: Bump @filteringdev/tinyshield-lib package.json version from tag
run: npm pkg set version="${GITHUB_REF_NAME#v}" -w libs
- name: Build
run: npm run build
- name: Publish @filteringdev/tinyshield to npm
working-directory: .
run: npm publish --tag build --access public
- name: Publish @filteringdev/tinyshield-lib to npm
working-directory: libs
run: npm publish --tag build --access public
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && contains(github.ref, '-build.') }}
purge:
name: Purge jsdelivr cache
runs-on: ubuntu-latest
permissions:
contents: read
actions: read
steps:
- name: Set up NodeJS LTS
uses: actions/setup-node@v6
with:
node-version: "lts/*"
- name: Purge jsdelivr cache
uses: FilteringDev/jsdelivr-purge-npm@0bee790e911f359243cd8d98cd87f6bbbc879e80
with:
package: "@filteringdev/tinyshield"
disttag: "latest"
needs: [release]