name: Release

on:
    push:
        branches:
            - master

concurrency: ${{ github.workflow }}-${{ github.ref }}

env:
    NODE_VERSION: 22

permissions:
    issues: write
    packages: write
    contents: write
    pull-requests: write

defaults:
    run:
        shell: bash

jobs:
    release:
        name: Release
        runs-on: ubuntu-latest

        steps:
            -   uses: google-github-actions/release-please-action@v4
                id: release
                with:
                    token: ${{ secrets.GITHUB_TOKEN }}

            -   name: Checkout
                if: steps.release.outputs.releases_created == 'true'
                uses: actions/checkout@v5
                with:
                    fetch-depth: 0

            -   name: Configure Git
                if: steps.release.outputs.releases_created == 'true'
                run: |
                    git config user.name "$GITHUB_ACTOR"
                    git config user.email "$GITHUB_ACTOR@users.noreply.github.com"

            -   name: Install
                if: steps.release.outputs.releases_created == 'true'
                uses: ./.github/actions/install
                with:
                    node-version: ${{ env.NODE_VERSION }}

            -   name: Build
                if: steps.release.outputs.releases_created == 'true'
                uses: ./.github/actions/build

            -   name: Publish
                if: steps.release.outputs.releases_created == 'true'
                run: npx workspaces-publish
                env:
                    NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

#            -   name: Create coverage
#                if: steps.release.outputs.releases_created == 'true'
#                run: |
#                    npm run test:coverage
#
#            -   name: Upload coverage report
#                if: steps.release.outputs.releases_created == 'true'
#                uses: codecov/codecov-action@v5.5.0
#                with:
#                    token: ${{ secrets.codecov }}
#                    directory: ./coverage/

