[READ-ONLY] Mirror of https://github.com/danielroe/cross-origin-storage. Load shared dependencies from Cross-Origin Storage (COS).
cross-origin-storage
experimental
nuxt
vite
vite-plugin
1name: release
2
3on:
4 push:
5 branches: [main]
6 pull_request:
7 types: [closed]
8 branches: [main]
9 workflow_dispatch:
10
11permissions: {}
12
13jobs:
14 # Parse commits since the last tag, push a `release/vX.Y.Z` branch, and open
15 # or update a draft release PR covering every publishable workspace package.
16 pr:
17 if: github.event_name == 'push' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch)
18 runs-on: ubuntu-latest
19 permissions:
20 contents: write
21 pull-requests: write
22 steps:
23 - uses: danielroe/uppt/pr@7bcfb5397c37202ef882363f755423130419d28a # v0.5.5
24 with:
25 token: ${{ secrets.GITHUB_TOKEN }}
26 packages: |
27 packages/*
28
29 # The release PR was merged: tag the squash commit, cut a GitHub release from
30 # the PR body, and dispatch the publish workflow on the new tag.
31 release:
32 if: |
33 github.event_name == 'pull_request'
34 && github.event.pull_request.merged == true
35 && startsWith(github.event.pull_request.head.ref, 'release/v')
36 && github.event.pull_request.head.repo.full_name == github.repository
37 runs-on: ubuntu-latest
38 concurrency:
39 group: release-${{ github.event.pull_request.number }}
40 cancel-in-progress: false
41 permissions:
42 contents: write
43 actions: write
44 steps:
45 - uses: danielroe/uppt/release@7bcfb5397c37202ef882363f755423130419d28a # v0.5.5
46 with:
47 token: ${{ secrets.GITHUB_TOKEN }}
48 packages: |
49 packages/*
50
51 # The chained dispatch lands here on a `vX.Y.Z` tag: install deps, run each
52 # package's `prepack` build, and pack a tarball per package.
53 pack:
54 if: github.event_name == 'workflow_dispatch' && startsWith(github.ref, 'refs/tags/v')
55 runs-on: ubuntu-latest
56 concurrency:
57 group: pack-${{ github.ref }}
58 cancel-in-progress: false
59 permissions: {}
60 outputs:
61 files: ${{ steps.pack.outputs.files }}
62 steps:
63 - id: pack
64 uses: danielroe/uppt/pack@7bcfb5397c37202ef882363f755423130419d28a # v0.5.5
65 with:
66 packages: |
67 packages/*
68
69 # Stage each prebuilt tarball for publish via OIDC trusted publishing.
70 publish:
71 if: |
72 github.event_name == 'workflow_dispatch'
73 && startsWith(github.ref, 'refs/tags/v')
74 && needs.pack.outputs.files != '[]'
75 needs: pack
76 runs-on: ubuntu-latest
77 concurrency:
78 group: publish-${{ github.ref }}
79 cancel-in-progress: false
80 permissions:
81 id-token: write
82 environment: npm
83 steps:
84 - uses: danielroe/uppt/publish@7bcfb5397c37202ef882363f755423130419d28a # v0.5.5
85 with:
86 files: ${{ needs.pack.outputs.files }}