Skip to content

Commit b61bf11

Browse files
committed
cicd: pipline for service-worker
1 parent 878e12b commit b61bf11

File tree

3 files changed

+1972
-2711
lines changed

3 files changed

+1972
-2711
lines changed
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
name: Service Worker CI/CD
2+
3+
on:
4+
push:
5+
paths:
6+
- service-worker/**
7+
- .github/workflows/service-worker-ci-cd.yml
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
node-version: [ lts/* ]
15+
steps:
16+
- uses: actions/checkout@v3
17+
- name: Use Node.js ${{ matrix.node-version }}
18+
uses: actions/setup-node@v3
19+
with:
20+
node-version: ${{ matrix.node-version }}
21+
22+
- run: npm ci
23+
- run: npm test -w service-worker
24+
- run: npm run lint -w service-worker
25+
- run: npm run build -w service-worker
26+
27+
- name: Save @pod-os/service-worker build
28+
if: github.ref == 'refs/heads/main'
29+
uses: actions/upload-artifact@v4
30+
with:
31+
name: service-worker-build
32+
path: |
33+
service-worker/lib/
34+
service-worker/types/
35+
service-worker/package.json
36+
retention-days: 1
37+
38+
npm-publish-service-worker-build:
39+
if: github.ref == 'refs/heads/main'
40+
needs: build
41+
runs-on: ubuntu-latest
42+
outputs:
43+
prereleaseVersion: ${{ steps.prerelease.outputs.version }}
44+
steps:
45+
- uses: actions/download-artifact@v4
46+
with:
47+
name: service-worker-build
48+
- uses: actions/setup-node@v3
49+
with:
50+
node-version: lts/*
51+
- uses: rlespinasse/[email protected]
52+
- name: prerelease version
53+
run: |
54+
echo "::set-output name=version::$(npm version prerelease --preid rc.${GITHUB_SHA_SHORT} --no-git-tag-version)"
55+
id: prerelease
56+
- run: echo prerelease version is ${{ steps.prerelease.outputs.version }}
57+
- uses: JS-DevTools/npm-publish@v1
58+
name: Publish @pod-os/service-worker
59+
with:
60+
token: ${{ secrets.NPM_TOKEN }}
61+
tag: ${{ env.GITHUB_REF_SLUG }}
62+
63+
npm-release-latest-service-worker:
64+
if: github.ref == 'refs/heads/main'
65+
needs: build
66+
runs-on: ubuntu-latest
67+
steps:
68+
- uses: actions/download-artifact@v4
69+
with:
70+
name: service-worker-build
71+
- uses: actions/setup-node@v3
72+
with:
73+
node-version: lts/*
74+
- uses: JS-DevTools/npm-publish@v1
75+
name: Release @pod-os/service-worker
76+
with:
77+
token: ${{ secrets.NPM_TOKEN }}
78+
tag: latest

0 commit comments

Comments
 (0)