name: 'Build & Test'

on: [push, pull_request_target]

jobs:
  build:
    name: Build (${{ matrix.os }})
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [macos-latest, windows-latest]
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Install
        run: npm ci --ignore-scripts

      - name: Build
        run: npm run build

  test:
    name: Build, Lint, & Prepare
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Install
        run: npm ci

      - name: Lint
        run: npm run lint

      - name: Release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          body: "See [CHANGELOG.md](https://github.com/jhildenbiddle/typora-themeable/blob/main/CHANGELOG.md) for details"
          files: dist/typora-themeable.zip
