Skip to content

Publish

Publish #478

Workflow file for this run

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