-
-
Notifications
You must be signed in to change notification settings - Fork 663
67 lines (67 loc) · 1.96 KB
/
publish.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
name: Publish
on:
# Note that the main branch will be used regardless of the branch chosen
# in the web interface.
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
jobs:
release:
name: Packages
if: github.repository == 'AssemblyScript/assemblyscript'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
ref: main
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: current
- name: Install dependencies
run: | # npm>=7 is currently broken: https://github.com/npm/cli/issues/1973
npm -g install npm@6
npm -v
npm ci
- name: Build packages
run: |
VERSION=$(npx aspublish --version)
if [[ "$VERSION" == "" ]]; then
echo "Changes do not trigger a release"
elif [[ "$VERSION" != "0."* ]]; then
echo "Unexpected version: $VERSION"
exit 1
else
echo "Building version: $VERSION"
npm version "$VERSION" --no-git-tag-version
npm run build
npm test
cd lib/loader
npm version "$VERSION" --no-git-tag-version
npm run build
npm test
cd ../rtrace
npm version "$VERSION" --no-git-tag-version
npm run build
npm test
cd ../..
fi
- name: Publish packages
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
node ./scripts/prepublish
if [ $(node -pe "require('./package.json').version") != "0.0.0" ]; then
npx aspublish
fi
cd lib/loader
if [ $(node -pe "require('./package.json').version") != "0.0.0" ]; then
npm publish --access public
fi
cd ../rtrace
if [ $(node -pe "require('./package.json').version") != "0.0.0" ]; then
npm publish --access public
fi
cd ../..
node ./scripts/prepublish --reset