123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- name: build
- on:
- push:
- branches: ['*']
- tags: ['v[0-9]+.[0-9]+.[0-9]+']
- pull_request:
- jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - uses: actions/setup-node@v1
- with:
- node-version: 12
- - run: yarn install
- - run: cargo install zkutil
- - run: yarn circuit
- - run: yarn test
- - run: yarn lint
- - name: Telegram Failure Notification
- uses: appleboy/telegram-action@0.0.7
- if: failure()
- with:
- message: ❗ Build failed for [${{ github.repository }}](https://github.com/${{ github.repository }}/actions) because of ${{ github.actor }}
- format: markdown
- to: ${{ secrets.TELEGRAM_CHAT_ID }}
- token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
- publish:
- runs-on: ubuntu-latest
- needs: build
- if: startsWith(github.ref, 'refs/tags')
- steps:
- - name: Checkout
- uses: actions/checkout@v2
- - name: NPM login
- # NPM doesn't understand env vars and needs auth file lol
- run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
- env:
- NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- - name: Set vars
- id: vars
- run: |
- echo "::set-output name=version::$(echo ${GITHUB_REF#refs/tags/v})"
- echo "::set-output name=repo_name::$(echo ${GITHUB_REPOSITORY#*/})"
- - name: Check package.json version vs tag
- run: |
- [ ${{ steps.vars.outputs.version }} = $(grep '"version":' package.json | grep -o "[0-9.]*") ] || (echo "Git tag doesn't match version in package.json" && false)
- - name: Publish to npm
- run: npm publish
- - name: Create GitHub Release Draft
- uses: actions/create-release@v1
- with:
- tag_name: ${{ github.ref }}
- release_name: Release ${{ steps.vars.outputs.version }}
- draft: true
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- - name: Telegram Notification
- uses: appleboy/telegram-action@0.0.7
- with:
- message: 🚀 Published a [${{ steps.vars.outputs.repo_name }}](https://github.com/${{ github.repository }}) version [${{ steps.vars.outputs.version }}](https://hub.docker.com/repository/docker/${{ github.repository }}) to docker hub
- format: markdown
- to: ${{ secrets.TELEGRAM_CHAT_ID }}
- token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
- - name: Telegram Failure Notification
- uses: appleboy/telegram-action@0.0.7
- if: failure()
- with:
- message: ❗ Failed to publish [${{ steps.vars.outputs.repo_name }}](https://github.com/${{ github.repository }}/actions) because of ${{ github.actor }}
- format: markdown
- to: ${{ secrets.TELEGRAM_CHAT_ID }}
- token: ${{ secrets.TELEGRAM_BOT_TOKEN }}
|