release #16
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: 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 --provenance | |
| - name: Publish remaining packages | |
| run: pnpm --filter '!keyv' --filter '!@keyv/website' --filter '!@keyv/mono-repo' publish --tag alpha --no-git-checks --access public --provenance |