name: Build and Deploy
on:
    push:
        branches:
            - master
jobs:
    build-and-deploy:
        runs-on: ubuntu-latest
        steps:
            - name: Checkout 🛎️
              uses: actions/checkout@v2.3.1
              with:
                  persist-credentials: false

            - name: Setup Node 🚧
              uses: actions/setup-node@v1
              with:
                  node-version: '12.x'
                  registry-url: 'https://registry.npmjs.org'

            - name: Setup Deno 🚧
              uses: denolib/setup-deno@v2
              with:
                  deno-version: v1.x

            - name: Install and Build 🔧
              run: |
                  npm run build

            - name: Commit files ✅
              run: |
                  git config --local user.email "action@github.com"
                  git config --local user.name "GitHub Action"
                  git commit -m "Push latest dist files" -a

            - name: Push changes 🔼
              uses: ad-m/github-push-action@master
              with:
                  branch: master
                  github_token: ${{ secrets.GITHUB_TOKEN }}

            - name: Publish 🚀
              run: npm publish
              env:
                  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
