name: Release
on:
  push:
    branches: [ master ]
jobs:
    test:
        strategy:
            matrix:
                os: [ubuntu-latest]
                node-version: [14.x, 16.x]

        runs-on: ubuntu-latest
        steps:
            - uses: actions/checkout@v2
              with:
                  token: ${{ secrets.GITHUB_TOKEN }}
            - uses: actions/setup-node@v2.4.1
              with:
                  node-version: ${{ matrix.node-version }}
            - uses: bahmutov/npm-install@v1
              with:
                  useLockFile: false
            - run: npm t

    release:
        needs: [test]
        runs-on: ubuntu-latest
        steps:
            - uses: actions/setup-node@v2.4.1
              with:
                  node-version: 16
            - uses: actions/checkout@v2
              with:
                  token: ${{ secrets.GITHUB_TOKEN }}

            - uses: bahmutov/npm-install@v1

            - name: Semantic release
              uses: codfish/semantic-release-action@v1
              env:
                  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
                  NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
