Skip to content

ci: add cross-platform validation for Linux, macOs, and Windows#134

Closed
slyt3 wants to merge 2 commits intomemodb-io:mainfrom
slyt3:infra/add-github-actions-ci
Closed

ci: add cross-platform validation for Linux, macOs, and Windows#134
slyt3 wants to merge 2 commits intomemodb-io:mainfrom
slyt3:infra/add-github-actions-ci

Conversation

@slyt3
Copy link
Copy Markdown
Contributor

@slyt3 slyt3 commented Jan 10, 2026

Github Action workflow to ensure the acontext CLI remains stable across diff operating systems

so while implementing disk features (grep,glob) I noticed the need to verify file-system logic on non-Linux env.

This Pipeline automates that process

Key changes

  1. Multi-OS matrix. It will validate build and tests on ubuntu-latest, macos-latest and windows-latest
  2. Race Detection. It will run go test with -race flag that will catch concurrency bugs early.
  3. Dependency Caching. So optimizing for the nested project structure ( src/server/api/go) to ensure fast execution
  4. Safety timeouts. Includes a 10minute timeout to prevent runaway processes

So this would and will act a quality gate for my pending PR and all future contributions

@slyt3 slyt3 marked this pull request as ready for review January 10, 2026 20:50
@slyt3
Copy link
Copy Markdown
Contributor Author

slyt3 commented Jan 10, 2026

@gusye1234 @GenerQAQ

@gusye1234
Copy link
Copy Markdown
Contributor

hey @slyt3 , you open this pr to validate CLI, but src/sever/api is our api layer.

cli code is in src/client/acontext-cli.

@slyt3
Copy link
Copy Markdown
Contributor Author

slyt3 commented Jan 12, 2026

Hey thanks, my mistake haha, i will update the working dir in the CI to point to src/client/acontext-cli right now, it will ensure we are validate the correct layer, I Will push the fix soon

@GenerQAQ
Copy link
Copy Markdown
Contributor

Thanks for the suggestion!

However, we already have cross-platform validation covered in our existing cli-test.yaml workflow. Here's what it includes:

Cross-platform build (lines 100-148):

  • Builds on ubuntu-latest, macos-latest, and windows-latest
  • Uploads build artifacts for each platform

Testing with race detector (lines 22-65):

  • Runs go test -v -race -coverprofile=coverage.out ./...
  • Uploads coverage to Codecov

Additional features the current workflow provides:

  • Lint job - runs golangci-lint for code quality
  • Path filtering - only triggers when src/client/acontext-cli/** changes, saving CI resources
  • Install script testing - validates the installation script on Linux/macOS

Adding a separate Cross-Platform Validation workflow would result in duplicate CI runs and unnecessary resource usage.

@slyt3 slyt3 closed this Jan 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants