Skip to content

Restore Linux release artifact#74

Merged
ianbruene merged 1 commit into
masterfrom
codex/fix-missing-linux-cd-build-artifact
Jul 15, 2026
Merged

Restore Linux release artifact#74
ianbruene merged 1 commit into
masterfrom
codex/fix-missing-linux-cd-build-artifact

Conversation

@ianbruene

Copy link
Copy Markdown
Owner

Motivation

  • Restore a missing downloadable Linux CD/release artifact so tagged releases include a Linux build alongside existing macOS and Windows artifacts.
  • Keep the existing CI test matrix and Ubuntu mockgrbl smoke/integration steps unchanged while adding explicit Linux packaging to the CD flow.

Description

  • Added a build-linux job to .github/workflows/cd.yml that installs Linux build deps, builds the GUI ddgo with -tags 'miqt serial', builds mockgrbl, packages them into dist/DDGo-linux-amd64.tar.gz, verifies the archive, and uploads it as the DDGo-linux-amd64 artifact with if-no-files-found: error.
  • Updated the release job in .github/workflows/cd.yml to depend on the build-linux job, require the Linux tarball during tagged-release validation, and include it in the GitHub Release upload listing.
  • Updated docs/RELEASING.md to document the new Linux artifact and the archive layout and build commands.
  • Changed files: .github/workflows/cd.yml, docs/RELEASING.md.
  • Artifact name and contents: uploaded artifact name DDGo-linux-amd64 containing DDGo-linux-amd64.tar.gz with linux-amd64/ddgo, linux-amd64/mockgrbl, and linux-amd64/README-artifact.txt.
  • Build commands used for the artifact: GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -tags 'miqt serial' -trimpath -ldflags='-s -w' -o dist/linux-amd64/ddgo ./cmd/ddgo, GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -trimpath -ldflags='-s -w' -o dist/linux-amd64/mockgrbl ./cmd/mockgrbl, and tar -C dist -czf dist/DDGo-linux-amd64.tar.gz linux-amd64.

Testing

  • Ran unit and package tests: go test ./... succeeded and go test -tags serial ./internal/transport ./internal/ports ./internal/app ./internal/grbl succeeded locally.
  • Performed local build checks: go build -tags serial -o /tmp/ddgo ./cmd/ddgo and go build -o /tmp/mockgrbl ./cmd/mockgrbl succeeded and /tmp/mockgrbl -h printed usage successfully.
  • Verified workflow YAML parse with ruby -e 'require "yaml"; YAML.load_file(".github/workflows/cd.yml")' succeeded and git diff --check reported no issues.
  • Attempted a local miqt-tagged Linux build and dependency install (apt-get install qtbase5-dev) failed in this environment due to blocked package repositories, so full -tags 'miqt serial' Linux artifact build was not validated locally but the CD job installs qtbase5-dev on the runner; CI will perform the full Linux build on ubuntu-latest during tagged releases.

Codex Task

@ianbruene
ianbruene merged commit 5a74147 into master Jul 15, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant