49 lines
1.3 KiB
YAML
49 lines
1.3 KiB
YAML
name: Check and Build
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event_name == 'workflow_dispatch' || contains(github.event.head_commit.message, ' [build]') }}
|
|
|
|
steps:
|
|
- name: Set up git
|
|
run: |
|
|
git config --global user.name "github-actions[bot]"
|
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version: "1.22"
|
|
# cache: false # set to be true by default. Disable cache when debugging
|
|
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
cd others/script
|
|
go mod tidy
|
|
|
|
- name: Check and build
|
|
run: |
|
|
cd others/script
|
|
go run main.go --rime_path "${{ github.workspace }}" --auto_confirm
|
|
|
|
- name: Commit and push
|
|
run: |
|
|
git add --all
|
|
if ! git diff --cached --quiet; then
|
|
COMMIT_MSG=$(git log -1 --pretty=%B | sed -e 's/\s\[build\]$//' -e 's/^[a-zA-Z()]*:\s*//')
|
|
git commit -m "build(ci): auto build for -> ${COMMIT_MSG} <-"
|
|
git push
|
|
else
|
|
echo "No changes to commit."
|
|
fi
|