generate-cicd-workflowlisted
Install: claude install-skill MrPippi/MJP-Claude-Skills
# Generate CI/CD Workflow Skill
## 目標
為 Minecraft 插件 Maven 專案產生完整的 GitHub Actions workflow,涵蓋:
- **CI**:每次 push/PR 自動編譯 + 測試
- **Release**:推送版本 tag 時自動打包並發布至 GitHub Releases
---
## 使用流程
1. **詢問專案資訊**:Java 版本、是否有單元測試、Release JAR 命名規則
2. **產生 CI workflow**:`ci.yml`(build + test)
3. **產生 Release workflow**:`release.yml`(tag → GitHub Release)
4. **說明如何觸發 Release**:`git tag v1.0.0 && git push --tags`
---
## 代碼��本
### .github/workflows/ci.yml(Build + Test)
```yaml
name: CI
on:
push:
branches: [main, develop]
pull_request:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
name: Build & Test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Java 21
uses: actions/setup-java@v4
with:
java-version: '21'
distribution: 'temurin'
cache: maven
- name: Build with Maven
run: mvn clean package -DskipTests
- name: Run Tests
run: mvn test
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: plugin-jar
path: target/*.jar
retention-days: 7
```
---
### .github/workflows/release.yml(Tag → GitHub Release)
```yaml
name: Release
on:
push:
tags:
- 'v*.*.*'
jobs:
release:
runs-on: ubuntu-latest
name: Build & Release
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Java 21