name: Semantic Release

on:
    push:
        branches: [main]

jobs:
    release:
        name: Release version
        permissions:
            contents: write

        runs-on: ubuntu-latest
        steps:
            - name: Checkout
              uses: actions/checkout@v4
              with:
                  token: ${{ secrets.SEMANTIC_RELEASE_GH_TOKEN }}

            - name: Setup Node
              uses: actions/setup-node@v4
              with:
                  node-version-file: '.nvmrc'

            - name: Semantic Release
              uses: cycjimmy/semantic-release-action@v4.1.0
              with:
                  extra_plugins: |
                      @semantic-release/changelog
                      @semantic-release/commit-analyzer
                      @semantic-release/git
                      @semantic-release/npm
              env:
                  GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_GH_TOKEN }}
