Skip to content

release

release #18

Workflow file for this run

name: release
on:
workflow_dispatch:
release:
types: [published]
permissions:
contents: read
id-token: write
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
name: Build
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
- name: Install Dependencies
run: pnpm install
- name: Approve Builds
run: pnpm approve-builds
- name: Build
run: pnpm build
test:
runs-on: ubuntu-latest
timeout-minutes: 30
name: Test
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
- name: Start Services
run: pnpm test:services:start
- name: Install Dependencies
run: pnpm install
- name: Approve Builds
run: pnpm approve-builds
- name: Build
run: pnpm build
- name: Test Packages
run: pnpm test
publish:
needs: [build, test]
runs-on: ubuntu-latest
timeout-minutes: 15
name: Publish
environment: release
steps:
- uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: '24'
cache: 'pnpm'
- name: Setup NPM Registry
run: echo "//registry.npmjs.org/:_authToken=${NODE_AUTH_TOKEN}" > ~/.npmrc
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Install Dependencies
run: pnpm install
- name: Approve Builds
run: pnpm approve-builds
- name: Build
run: pnpm build
- name: Publish keyv
run: pnpm --filter keyv publish --tag alpha --no-git-checks --access public
- name: Publish remaining packages
run: pnpm --filter '!keyv' --filter '!@keyv/website' --filter '!@keyv/mono-repo' publish --tag alpha --no-git-checks --access public --provenance