ci: add action to enforce semantic PR titles and run tests

This commit is contained in:
Adem Baccara
2025-09-19 09:39:07 +01:00
parent 3b9f866d55
commit a0271876eb
3 changed files with 111 additions and 0 deletions
+39
View File
@@ -0,0 +1,39 @@
name: Go Build and Test
on:
pull_request:
branches:
- main
types:
- edited
- opened
- reopened
- synchronize
push:
branches:
- main
permissions:
contents: read
pull-requests: read
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version-file: go.mod
cache-dependency-path: go.sum
cache: true
- name: Run make build
run: make build
- name: Run make test
run: make test
+43
View File
@@ -0,0 +1,43 @@
name: Semantic PRs
on:
pull_request:
types:
- edited
- opened
- reopened
- synchronize
permissions:
pull-requests: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event.number }}
cancel-in-progress: true
jobs:
validate_title:
name: Validate Title
runs-on: ubuntu-latest
steps:
- uses: amannn/action-semantic-pull-request@v5.5.3
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
types: |
fix
feat
improve
refactor
revert
test
ci
docs
chore
scopes: |
ui
cli
config
parser
requireScope: false
+29
View File
@@ -200,6 +200,35 @@ Contributions are welcome!
We love seeing the community make Lazyssh better 🚀
### Semantic Pull Requests
This repository enforces semantic PR titles via an automated GitHub Action. Please format your PR title as:
- type(scope): short descriptive subject
Notes:
- Scope is optional and should be one of: ui, cli, config, parser.
Allowed types in this repo:
- feat: a new feature
- fix: a bug fix
- improve: quality or UX improvements that are not a refactor or perf
- refactor: code change that neither fixes a bug nor adds a feature
- docs: documentation only changes
- test: adding or refactoring tests
- ci: CI/CD or automation changes
- chore: maintenance tasks, dependency bumps, non-code infra
- revert: reverts a previous commit
Examples:
- feat(ui): add server pinning and sorting options
- fix(parser): handle comments at end of Host blocks
- improve(cli): show friendly error when ssh binary missing
- refactor(config): simplify backup rotation logic
- docs: add installation instructions for Homebrew
- ci: cache Go toolchain and dependencies
Tip: If your PR touches multiple areas, pick the most relevant scope or omit the scope.
---
## ⭐ Support