tmpltool 1.5.0

A fast and simple command-line template rendering tool using MiniJinja templates with environment variables
Documentation
name: Release

on:
  push:
    branches:
      - master
      - main

permissions:
  contents: write
  actions: write

jobs:
  semantic-release:
    name: Semantic Release
    runs-on: ubuntu-latest
    outputs:
      new_release_published: ${{ steps.semantic.outputs.new_release_published }}
      new_release_version: ${{ steps.semantic.outputs.new_release_version }}
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0
          persist-credentials: false

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

      - name: Install dependencies
        run: npm ci

      - name: Run semantic-release
        id: semantic
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          HUSKY: 0
        run: |
          # Get current tags
          BEFORE_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "none")

          # Run semantic-release
          npx semantic-release 2>&1 | tee release-output.log

          # Check if a new tag was created
          git fetch --tags
          AFTER_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "none")

          if [ "$BEFORE_TAG" != "$AFTER_TAG" ] && [ "$AFTER_TAG" != "none" ]; then
            echo "new_release_published=true" >> $GITHUB_OUTPUT
            VERSION=$(echo "$AFTER_TAG" | sed 's/^v//')
            echo "new_release_version=$VERSION" >> $GITHUB_OUTPUT
            echo "New release published: $AFTER_TAG"
          else
            echo "new_release_published=false" >> $GITHUB_OUTPUT
            echo "No release published"
          fi

  trigger-publish:
    name: Trigger Publish Workflow
    needs: semantic-release
    if: needs.semantic-release.outputs.new_release_published == 'true'
    runs-on: ubuntu-latest
    steps:
      - name: Trigger publish workflow
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh workflow run publish.yml \
            --repo "${{ github.repository }}" \
            --field tag="v${{ needs.semantic-release.outputs.new_release_version }}"