Skip to content

Comments

chore: include version in release artifacts; add rust-toolchain.toml; cleanup release-please inputs#11

Merged
vitramir merged 7 commits intomainfrom
noa/issue-10
Oct 2, 2025
Merged

chore: include version in release artifacts; add rust-toolchain.toml; cleanup release-please inputs#11
vitramir merged 7 commits intomainfrom
noa/issue-10

Conversation

@noa-lucent
Copy link
Contributor

@noa-lucent noa-lucent commented Oct 2, 2025

This PR now also switches the Release workflow to publish raw executables only (no archives), per stakeholder decision.

Changes summary

  • Publish raw binaries only with versioned names:
    • Unix/macOS: codex-tools-mcp_{VERSION}{OS}{ARCH}
    • Windows: codex-tools-mcp_{VERSION}{OS}{ARCH}.exe
  • Generate SHA256SUMS.txt for raw binaries.
  • Upload only raw binaries + SHA256SUMS.txt to the Release.
  • Append a brief note to the Release body that Unix/macOS users may need chmod +x after download (if feasible via softprops append).
  • Keep: robust tag fallback (release tag_name or ref_name), single-source VERSION from the Compute version step, and guard for non-tag workflow_dispatch.
  • Also includes previous work: rust-toolchain.toml, release-please cleanup, and versioned filenames.

Testing plan

  • CI green on ubuntu/macos/windows.
  • Dry-run via workflow_dispatch using a temporary tag (e.g., v0.0.0-test) and verify only raw binaries + SHA256SUMS are attached.

Tracking

Noa Lucent and others added 2 commits October 2, 2025 00:40
…please inputs; include version in release artifacts; guard dispatch tag; resilient upload tag

- Add rust-toolchain.toml (1.90.0 + rustfmt, clippy)
- CI: use dtolnay/rust-toolchain@v1 with implicit toolchain
- Release: embed version in artifact filenames; include README.md/LICENSE; compute VERSION; sha256 over dist/*; guard non-tag dispatch; resilient tag_name
- Release Please: remove unsupported inputs (package-name, bump-minor-pre-major, release-as)
@noa-lucent noa-lucent changed the title docs: add dual license (MIT OR Apache-2.0) chore: include version in release artifacts; add rust-toolchain.toml; cleanup release-please inputs Oct 2, 2025
@vitramir vitramir closed this Oct 2, 2025
@noa-lucent noa-lucent reopened this Oct 2, 2025
@noa-lucent
Copy link
Contributor Author

Updated PR to publish raw executables only (no archives), per decision. Changes:

  • Remove tar.gz/zip packaging and staging dirs
  • Produce raw binaries named codex-tools-mcp_{VERSION}{OS}{ARCH}[.exe]
  • Generate SHA256SUMS.txt for raw binaries
  • Upload raw binaries + SHA256SUMS.txt; append chmod note in release body

CI will run across ubuntu/macos/windows. After green, we’ll do a workflow_dispatch dry-run against a temp tag to validate assets. Relates to #10.

Copy link
Contributor Author

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Triage: CI was red due to the lint job failing on all OSes at the cargo fmt -- --check step. Error excerpt from logs was the standard rustfmt-not-installed failure:

  • error: 'rustfmt' is not installed for the toolchain '1.90.0-'
  • similarly, clippy would fail if invoked without the component present

Root cause

  • We switched CI to dtolnay/rust-toolchain@v1 to infer the toolchain from rust-toolchain.toml, but we did not explicitly request the rustfmt/clippy components in the lint job. The action does not automatically install components unless requested.

Fix applied

  • Updated .github/workflows/ci.yml lint job to install components via the action:
    uses: dtolnay/rust-toolchain@v1
    with:
    components: rustfmt, clippy

Impact

  • Minimal change, consistent with our pinned rust-toolchain.toml (1.90.0 + components). Raw-only release workflow remains unchanged. CI should now pass on ubuntu/macos/windows.

I’ll monitor the rerun; please ping if anything else pops.

Copy link
Contributor Author

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI triage update:

  • Lint job failure included a clippy formatting lint complaining about a format string literal used with braces in tests/integration.rs.
    Error excerpt (first relevant lines):
    • error: nothing formatted with formatting string
    • note: #[deny(clippy::print_literal)] on by default (or similar format string lint)

Root cause

  • The assertion used a literal with {stdout} inside the format string, which clippy flags and also does not actually format the value.

Fix applied

  • Updated tests/integration.rs to use a proper formatting placeholder:
    • before: "expected responses in stdout: {stdout}"
    • after: "expected responses in stdout: {}", stdout

Result

  • Minimal and isolated test change; no behavior impact, satisfies clippy with -D warnings.

I’ll monitor the rerun and follow up if any other failures appear.

Copy link
Contributor Author

@noa-lucent noa-lucent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CI failure triage (run 18191629725):

  • Root cause across jobs (lint, ubuntu, macOS, windows):
    • dtolnay/rust-toolchain@v1 requires an explicit toolchain input and did not auto-detect from rust-toolchain.toml.
    • Error excerpt (first lines): 'toolchain' is a required input.

Fix applied

  • .github/workflows/ci.yml: set toolchain: "1.90.0" for all steps using dtolnay/rust-toolchain@v1.
  • Lint job keeps components: rustfmt, clippy to satisfy fmt/clippy steps.

Commits on noa/issue-10:

  • e54287c ci: fix dtolnay/rust-toolchain@v1 usage by providing explicit toolchain=1.90.0 (and components in lint)
  • Earlier: 68a93de (install rustfmt/clippy) and c5c91bc (test format string fix).

No changes to the release workflow behavior (raw-only) or other scopes. Monitoring the new CI run; will follow up if anything else fails with error excerpts and a minimal fix.

@vitramir vitramir merged commit 80c3ad8 into main Oct 2, 2025
4 checks passed
vitramir added a commit that referenced this pull request Oct 2, 2025
…in.toml; cleanup release-please inputs (#11)"

This reverts commit 80c3ad8.
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.

2 participants