Skip to content

feat: Very Basic CI/CD Pipeline#4

Merged
DylanDevelops merged 10 commits into
mainfrom
ravel/distribution-prototype
Dec 11, 2025
Merged

feat: Very Basic CI/CD Pipeline#4
DylanDevelops merged 10 commits into
mainfrom
ravel/distribution-prototype

Conversation

@DylanDevelops
Copy link
Copy Markdown
Owner

@DylanDevelops DylanDevelops commented Dec 11, 2025

This pull request introduces a complete setup for automated testing and release workflows, improves version reporting, and switches the SQLite driver to a more portable alternative. These changes help streamline CI/CD, make builds more reproducible, and prepare the project for broader distribution.

Continuous Integration & Release Automation:

  • Added .github/workflows/test.yml to run build and basic command tests on Ubuntu, macOS, and Windows for every push and pull request to main.
  • Added .github/workflows/release.yml to automate releases via GoReleaser when a new tag is pushed, including support for multi-platform builds and publishing to GitHub Releases.
  • Introduced .goreleaser.yml with detailed configuration for multi-OS/arch builds, archive formats, changelog grouping, Homebrew formula, and checksum generation.

Build & Versioning Improvements:

  • Updated cmd/root.go to inject version, commit, and build date into the CLI, and display them in the version output using linker flags from GoReleaser. [1] [2]

Dependency & Driver Changes:

  • Replaced github.com/mattn/go-sqlite3 with modernc.org/sqlite for SQLite database access, improving cross-platform compatibility by removing the CGO dependency. Updated both go.mod and internal/storage/db.go accordingly. [1] [2] [3]

Introduces GitHub Actions workflows for release and test automation, and adds a GoReleaser configuration for cross-platform builds and Homebrew support. Also updates root command to use dynamic version, commit, and build date variables for improved release metadata.
Replaces github.com/mattn/go-sqlite3 with modernc.org/sqlite for database operations. Updates GoReleaser config to use CGO_ENABLED=0 for cross-platform builds, removes cross-compilation dependencies from release workflow, and updates dependencies in go.mod and go.sum accordingly.
@DylanDevelops DylanDevelops merged commit 0db6d1a into main Dec 11, 2025
3 checks passed
@DylanDevelops DylanDevelops deleted the ravel/distribution-prototype branch December 11, 2025 07:17
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.

1 participant