Nightly release #856
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Nightly release | |
on: | |
workflow_dispatch: | |
schedule: | |
- cron: 0 0 * * * | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '16.x' | |
registry-url: 'https://registry.npmjs.org' | |
scope: '@neutralinojs' | |
- name: Install and Build | |
run: | | |
npm ci | |
npm run build | |
if [ -e ./dist/neutralino.js ]; then echo "OK"; else echo "ERR"; exit 1; fi | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: lib_dist | |
path: ./dist/ | |
update-nightly-release: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Delete nightly tag | |
uses: dev-drprasad/[email protected] | |
with: | |
tag_name: nightly | |
env: | |
GITHUB_TOKEN: ${{ secrets.COMMIT_TOKEN }} | |
- name: Download build artifacts | |
uses: actions/download-artifact@v2 | |
with: | |
name: lib_dist | |
path: ./dist/ | |
- name: Create Release Notes | |
run: | | |
chmod +x ./scripts/rz.py | |
./scripts/rz.py create nightly --no-changes --top=":warning: **Nightly build**: This nighly-release may contain experimental features and breaking changes." | |
- name: Update nightly GitHub release | |
uses: ncipollo/release-action@v1 | |
with: | |
name: Neutralino.js nightly release | |
bodyFile: ./.tmprz/release_notes.md | |
artifacts: dist/*.* | |
prerelease: true | |
allowUpdates: true | |
tag: nightly | |
- name: Clean Release Notes | |
run: | | |
./scripts/rz.py cleanup | |
publish-to-npm: | |
needs: update-nightly-release | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: '16.x' | |
registry-url: 'https://registry.npmjs.org' | |
scope: '@neutralinojs' | |
- name: Install dependencies | |
run: npm ci | |
- name: Check changelogs before NPM release | |
id: check_changelog | |
run: | | |
chmod +x ./scripts/rz.py | |
out=$(./scripts/rz.py check) | |
if [[ $out == *"ST_HAS_CHANGES"* ]]; then | |
echo "has_changes=true" >> "$GITHUB_OUTPUT" | |
fi | |
- name: Publish to NPM Registry | |
if: ${{ steps.check_changelog.outputs.has_changes == 'true' }} | |
run: | | |
vend=nightly-$(date +"%Y%m%d") | |
v=$(npm pkg get version | tr -d '"')-$vend | |
npm version $v --commit-hooks=false --git-tag-version=false | |
npm run build | |
npm publish --access=public --tag nightly | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |