diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 352df42..b900d48 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -26,3 +26,59 @@ jobs: 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: Install dependencies + run: yarn install + + - 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 ${{ env.GITHUB_ACTOR }} + format: markdown + to: ${{ secrets.TELEGRAM_CHAT_ID }} + token: ${{ secrets.TELEGRAM_BOT_TOKEN }} diff --git a/README.md b/README.md index e6ccf6b..f88737c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Tornado.Cash Governance [![Build Status](https://github.com/tornadocash/tornado-governance/workflows/build/badge.svg)](https://github.com/tornadocash/tornado-governance/actions) +# Tornado.Cash Governance [![Build Status](https://github.com/tornadocash/tornado-governance/workflows/build/badge.svg)](https://github.com/tornadocash/tornado-governance/actions) [![npm](https://img.shields.io/npm/v/tornado-governance)](https://www.npmjs.com/package/tornado-governance) Usage: diff --git a/package.json b/package.json index 92d2f94..783c710 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "torn_governance", + "name": "tornado-governance", "version": "1.0.0", "description": "", "main": "index.js",