Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 }}
Expand All @@ -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

Expand Down
22 changes: 15 additions & 7 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,26 @@ 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
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
Expand All @@ -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)
Expand All @@ -44,27 +49,30 @@ 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 <tag-name>`
- Check that tag starts with `v` (e.g., `v1.0.0`)
- Review workflow logs for errors

## Continuous Integration

Every push to `main` or `develop` branches runs:

- Code formatting checks (`go fmt`)
- Static analysis (`go vet`)
- Unit tests (`go test`)
Expand Down