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'