4.0.1 #243
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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] |