---
# $schema: "https://json.schemastore.org/github-workflow.json"
name: Release Daily State

on:
  workflow_dispatch:
  schedule:
    - cron: '0 21 * * *' # 00:00 at Europe/Helsinki

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

permissions: read-all

jobs:
  new-daily-release:
    runs-on: self-hosted

    permissions: write-all

    outputs:
      created: ${{ steps.daily-version.outputs.created }}
      version: ${{ steps.daily-version.outputs.version }}

    steps:
      - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

      - name: Create tag if necessary
        uses: fregante/daily-version-action@fb1a60b7c4daf1410cd755e360ebec3901e58588 # v2.1.3
        id: daily-version

      - name: Create changelog text
        if: steps.daily-version.outputs.created
        id: changelog
        uses: loopwerk/tag-changelog@941366edb8920e2071eae0449031830984b9f26e # v1.3.0
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          config_file: .github/tag-changelog-config.js

      - name: Create release
        if: steps.daily-version.outputs.created
        uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2.3.2
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          tag_name: ${{ steps.daily-version.outputs.version }}
          name: Release ${{ steps.daily-version.outputs.version }}
          body: ${{ steps.changelog.outputs.changes }}
