name: CI

on:
  push:
    branches:
      - master
    tags:
      - "v*.*.*"
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - uses: actions/setup-node@v3
        with:
          node-version: 20
          cache: npm

      - run: npm ci

      - run: npm test

  release:
    runs-on: ubuntu-latest
    if: startsWith(github.ref, 'refs/tags/')
    steps:
      - uses: actions/checkout@v3

      - uses: actions/setup-node@v3
        with:
          node-version: 20

      - run: npm ci

      - run: CI=1 node generate_webpack.js

      - uses: softprops/action-gh-release@v1
        with:
          generate_release_notes: true
          files: browser/telegram.js
