on:
  push:
    branches:
      - master

jobs:
  release:
    name: Release types
    runs-on: ubuntu-latest
    if: "!contains(github.event.head_commit.message, '#no-publish')"
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-node@v3
      - run: npm ci

      - name: Bump version
        run: |
          current_ver="$(node -p -e "require('./package.json').version")"
          npm_ver="$(npm view @todesktop/shared version)"
          latest_ver="$(npx semver "${current_ver}" ${npm_ver} | tail -n 1)"

          if [ "${current_ver}" != "${latest_ver}" ]; then
            npm version "${latest_ver}" --no-git-tag-version -f
          fi

          npm version --no-git-tag-version patch

      - name: Publish
        run: |
          npm config set '//registry.npmjs.org/:_authToken' "${{ secrets.NPM_AUTH_TOKEN }}"
          npm publish
