name: Release
on:
  workflow_dispatch:
    inputs:
      tag:
        description: '<newversion> | major | minor | patch'
        required: true
        default: 'patch'
jobs:
  checkout:
    name: checkout
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - run: |
          git config user.name github-actions
          git config user.email github-actions@github.com
      - name: Setup NodeJS and run build
        uses: actions/setup-node@v1
        with:
          node-version: 12
      - run: |
          npm ci
          npm run lint
          npm run build
      - name: Setup version
        if: ${{ github.event.inputs.tag != '' }}
        run: |
          npm version ${{ github.event.inputs.tag }}
          git push
      - name: Add tag
        run: git tag -a v${{ github.event.inputs.tag }} -m "v${{ github.event.inputs.tag }}"