-
Notifications
You must be signed in to change notification settings - Fork 1
116 lines (103 loc) · 3.05 KB
/
prerelease.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
name: (Prerelease) Package
on:
push:
tags:
- 'v[0-9]+\.[0-9]+\.[0-9]+-*' # only preleases, eg v1.0.1-beta.1
env:
FILES: |
lib/
src/
package.json
index.html
LICENSE
README.md
jobs:
setup:
runs-on: ubuntu-latest
name: find version
outputs:
version: v${{ steps.semver.outputs.fullversion }}
prerelease: ${{ steps.semver.outputs.prerelease }}
steps:
- name: extract tag version
id: semver
uses: booxmedialtd/ws-action-parse-semver@v1
with:
input_string: ${{ github.ref }}
version_extractor_regex: 'refs\/tags\/v(.*)$'
build:
if: needs.setup.outputs.prerelease
runs-on: ubuntu-latest
needs: setup
outputs:
version: ${{ needs.setup.outputs.version }}
steps:
- name: build npm package
uses: tfso/action-helpers/npm-build@v1
id: npm
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TFSO_TOKEN }}
FONT_AWESOME_TOKEN: ${{ secrets.FONT_AWESOME_TOKEN }}
CUSTOM_TAG: ${{ needs.setup.outputs.version }}
NODE_VERSION: 16
- name: upload package
uses: actions/upload-artifact@v3
with:
name: package
path: ${{ env.FILES }}
retention-days: 7
# publish-npm:
# runs-on: ubuntu-latest
# name: publish to npm
# needs: build
# steps:
# - name: download package
# uses: actions/download-artifact@v3
# with:
# name: package
# - name: setup
# uses: actions/setup-node@v3
# with:
# node-version: 16
# registry-url: https://registry.npmjs.org/
# scope: '@tfso'
# - name: extract npm tag
# id: npmpublish
# run: |
# echo "tag=$(echo "${PRERELEASE}" | sed 's/v\?[0-9]*\.[0-9]*\.[0-9]*\-\([^.+]*\).*/\1/')" >> $GITHUB_OUTPUT
# env:
# PRERELEASE: ${{ needs.build.outputs.version }}
# - name: publish prerelease version
# run: |
# npm publish --access public --tag ${{ steps.npmpublish.outputs.tag }}
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
publish-github:
runs-on: ubuntu-latest
name: publish to github
needs: build
permissions:
packages: write
steps:
- name: download package
uses: actions/download-artifact@v3
with:
name: package
- name: setup
uses: actions/setup-node@v3
with:
node-version: 16
registry-url: 'https://npm.pkg.github.com'
scope: '@tfso'
- name: extract npm tag
id: npmpublish
run: |
echo "tag=$(echo "${PRERELEASE}" | sed 's/v\?[0-9]*\.[0-9]*\.[0-9]*\-\([^.+]*\).*/\1/')" >> $GITHUB_OUTPUT
env:
PRERELEASE: ${{ needs.build.outputs.version }}
- name: publish prerelease version
run: |
npm publish --access public --tag ${{ steps.npmpublish.outputs.tag }}
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}