diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe284c1..1c3a6bc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: run: ./build/flutterguard-cli --version - name: Upload build artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: flutterguard-cli-linux path: build/flutterguard-cli diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b8bba3c..31f2a51 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -65,7 +65,7 @@ jobs: CGO_ENABLED: 0 - name: Upload artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact_name }} path: build/${{ matrix.artifact_name }} @@ -82,7 +82,7 @@ jobs: uses: actions/checkout@v4 - name: Download all artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: path: build diff --git a/RELEASE.md b/RELEASE.md index 8f61496..3fcd9b1 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -5,6 +5,7 @@ This document explains how to create and release new versions of FlutterGuard CL ## Creating a Release ### 1. Update Version + Update the version constant in `cmd/root.go`: ```go @@ -12,15 +13,18 @@ const Version = "1.1.0" // Update this ``` ### 2. Update CHANGELOG (Optional but recommended) + Create or update CHANGELOG.md with new features, fixes, and improvements. ### 3. Commit Changes + ```bash git add cmd/root.go CHANGELOG.md git commit -m "Release v1.1.0" ``` ### 4. Create Git Tag + ```bash git tag -a v1.1.0 -m "Release FlutterGuard CLI v1.1.0" git push origin main @@ -32,6 +36,7 @@ git push origin v1.1.0 When you push a tag starting with `v`, the GitHub Actions workflow automatically: 1. **Builds** the CLI for multiple platforms: + - Linux (amd64, arm64) - macOS (amd64, Apple Silicon/arm64) - Windows (amd64) @@ -44,20 +49,22 @@ When you push a tag starting with `v`, the GitHub Actions workflow automatically The build workflow creates binaries for: -| Platform | Architecture | Filename | -|----------|--------------|----------| -| Linux | x86_64 (amd64) | `flutterguard-cli-linux-amd64` | -| Linux | ARM64 | `flutterguard-cli-linux-arm64` | -| macOS | Intel (amd64) | `flutterguard-cli-darwin-amd64` | -| macOS | Apple Silicon (arm64) | `flutterguard-cli-darwin-arm64` | -| Windows | x86_64 (amd64) | `flutterguard-cli-windows-amd64.exe` | +| Platform | Architecture | Filename | +| -------- | --------------------- | ------------------------------------ | +| Linux | x86_64 (amd64) | `flutterguard-cli-linux-amd64` | +| Linux | ARM64 | `flutterguard-cli-linux-arm64` | +| macOS | Intel (amd64) | `flutterguard-cli-darwin-amd64` | +| macOS | Apple Silicon (arm64) | `flutterguard-cli-darwin-arm64` | +| Windows | x86_64 (amd64) | `flutterguard-cli-windows-amd64.exe` | ## Troubleshooting ### Build Failed + Check the GitHub Actions logs at: `https://github.com/flutterguard/flutterguard-cli/actions` ### Release Not Created + - Verify the tag was pushed: `git push origin ` - Check that tag starts with `v` (e.g., `v1.0.0`) - Review workflow logs for errors @@ -65,6 +72,7 @@ Check the GitHub Actions logs at: `https://github.com/flutterguard/flutterguard- ## Continuous Integration Every push to `main` or `develop` branches runs: + - Code formatting checks (`go fmt`) - Static analysis (`go vet`) - Unit tests (`go test`)