1
0
mirror of https://github.com/SimonPistache/famfamfam-silk-svg.git synced 2025-06-08 01:54:20 +02:00

ci(#202): Add Auto Release GHA and Enforce Conventional Commit GHA (#213)

* ci(#202): 👷 Start working on CI

Add Semantic Release for automating Releasing versions

* ci(#202): 👷 Add Conventional Commit Validation

* ci(#202): Change dependency from 1 to v1

* ci(#202): Change dependency wording

* ci(#202): Change dependency version to 1.4.1

* ci: Change naming

* ci(#202): Update CI to use FG-PAT

Set the semantic-release to ignore for CC "^ci" message,
Set a fine-grained personal access token for my account to let the bot work on my behalf on my repository,
Add permissions to the bot to write on pull-requests, issues, and commit content on main.
This commit is contained in:
Simon Priet 2025-03-06 12:14:04 +01:00 committed by GitHub
parent 30b7451ef8
commit 8a46e61f75
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 61 additions and 0 deletions

36
.github/workflows/auto-release.yml vendored Normal file
View File

@ -0,0 +1,36 @@
name: Automatic Release
run-name: Release a new version of the icon pack on PR's merging
on:
pull_request:
types:
- merged
branches:
- main
jobs:
semantic-release:
if: "!startsWith(github.event.head_commit.message, 'ci')"
name: Semantic Release
runs-on: ubuntu-latest
permissions:
contents: write
issues: write
pull-requests: write
steps:
# Checkout data from the repository
- name: Checkout
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
persist-credentials: false
# Run Semantic-release-action with the included release
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v4
id: semantic # Need an `id` for output variables
env:
# Use admin FG-PAT
GITHUB_TOKEN: ${{ secrets.RELEABOT_TOKEN }}

16
.github/workflows/pr-cc.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: Conventional Commit
run-name: Enforce that PR name follow Conventional Commits
on:
pull_request:
types: [opened, synchronize, reopened, edited]
jobs:
Validate:
runs-on: ubuntu-latest
steps:
- name: PR Conventional Commit Validation
uses: ytanikin/pr-conventional-commits@1.4.1
with:
task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert"]'
add_label: 'false'

9
.releaserc.yml Normal file
View File

@ -0,0 +1,9 @@
plugins:
- "@semantic-release/commit-analyzer"
- "@semantic-release/release-notes-generator"
# - "@semantic-release/changelog"
- "@semantic-release/git"
- "@semantic-release/github"
branches:
- main