c2980d15e9
This avoids people having failing actions in forks of our repo since they don't have permission to publish things.
99 lines
3.2 KiB
YAML
99 lines
3.2 KiB
YAML
name: Publish
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
release:
|
|
types: [published]
|
|
|
|
jobs:
|
|
npm:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: |
|
|
GITREV=$(git rev-parse --short HEAD)
|
|
echo $GITREV
|
|
sed -i "s/^\(.*\"version\".*\)\"\([^\"]\+\)\"\(.*\)\$/\1\"\2-g$GITREV\"\3/" package.json
|
|
if: |
|
|
github.event_name == 'push' &&
|
|
github.event.ref == 'refs/heads/master'
|
|
- uses: actions/setup-node@v1
|
|
with:
|
|
# Needs to be explicitly specified for auth to work
|
|
registry-url: 'https://registry.npmjs.org'
|
|
- run: npm install
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: npm
|
|
path: lib
|
|
- run: npm publish --access public
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
if: |
|
|
github.repository == 'novnc/noVNC' &&
|
|
github.event_name == 'release' &&
|
|
!github.event.release.prerelease
|
|
- run: npm publish --access public --tag beta
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
if: |
|
|
github.repository == 'novnc/noVNC' &&
|
|
github.event_name == 'release' &&
|
|
github.event.release.prerelease
|
|
- run: npm publish --access public --tag dev
|
|
env:
|
|
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
|
|
if: |
|
|
github.repository == 'novnc/noVNC' &&
|
|
github.event_name == 'push' &&
|
|
github.event.ref == 'refs/heads/master'
|
|
snap:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- run: |
|
|
GITREV=$(git rev-parse --short HEAD)
|
|
echo $GITREV
|
|
sed -i "s/^\(.*\"version\".*\)\"\([^\"]\+\)\"\(.*\)\$/\1\"\2-g$GITREV\"\3/" package.json
|
|
if: |
|
|
github.event_name == 'push' &&
|
|
github.event.ref == 'refs/heads/master'
|
|
- run: |
|
|
VERSION=$(grep '"version"' package.json | cut -d '"' -f 4)
|
|
echo $VERSION
|
|
sed -i "s/@VERSION@/$VERSION/g" snap/snapcraft.yaml
|
|
- uses: snapcore/action-build@v1
|
|
id: snapcraft
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: snap
|
|
path: ${{ steps.snapcraft.outputs.snap }}
|
|
- uses: snapcore/action-publish@v1
|
|
with:
|
|
store_login: ${{ secrets.SNAPCRAFT_LOGIN }}
|
|
snap: ${{ steps.snapcraft.outputs.snap }}
|
|
release: stable
|
|
if: |
|
|
github.repository == 'novnc/noVNC' &&
|
|
github.event_name == 'release' &&
|
|
!github.event.release.prerelease
|
|
- uses: snapcore/action-publish@v1
|
|
with:
|
|
store_login: ${{ secrets.SNAPCRAFT_LOGIN }}
|
|
snap: ${{ steps.snapcraft.outputs.snap }}
|
|
release: beta
|
|
if: |
|
|
github.repository == 'novnc/noVNC' &&
|
|
github.event_name == 'release' &&
|
|
github.event.release.prerelease
|
|
- uses: snapcore/action-publish@v1
|
|
with:
|
|
store_login: ${{ secrets.SNAPCRAFT_LOGIN }}
|
|
snap: ${{ steps.snapcraft.outputs.snap }}
|
|
release: edge
|
|
if: |
|
|
github.repository == 'novnc/noVNC' &&
|
|
github.event_name == 'push' &&
|
|
github.event.ref == 'refs/heads/master'
|