ci: replace release-that action with semantic-release

- Update workflow triggers to support scheduled daily releases at UTC midnight
- Add workflow_dispatch for manual release triggering
- Add conditional logic to only run release on main branch pushes, schedules, or manual triggers
- Replace rlespinasse/release-that@v1 with cycjimmy/semantic-release-action@v4
- Switch from custom GH_TOKEN to standard GITHUB_TOKEN
- Create .releaserc.json with minimal semantic-release configuration
- Automatically analyzes conventional commits and generates releases
- Enables once-daily release cadence with unpublished commit detection
This commit is contained in:
Claude
2026-07-06 17:22:37 +00:00
parent bb137f845b
commit ffad7e3eb7
2 changed files with 26 additions and 3 deletions

View File

@@ -1,5 +1,12 @@
name: "[v5] Test and Release"
on: [push, pull_request]
on:
push:
branches:
- main
pull_request:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
permissions: read-all
jobs:
check-v4-compatibility:
@@ -381,10 +388,15 @@ jobs:
shell: bash
release:
if: |
github.event_name == 'schedule' ||
github.event_name == 'workflow_dispatch' ||
(github.event_name == 'push' && github.ref == 'refs/heads/main')
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
id-token: write
packages: write
concurrency:
@@ -397,6 +409,9 @@ jobs:
- name: Checkout
uses: actions/checkout@v7
- name: Release this GitHub Action
uses: rlespinasse/release-that@v1
uses: cycjimmy/semantic-release-action@v4
with:
github-token: ${{ secrets.GH_TOKEN }}
semantic_version: 21
branches: main
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

8
.releaserc.json Normal file
View File

@@ -0,0 +1,8 @@
{
"branches": ["main"],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/github"
]
}