Skip to content

Conversation

@infiniteregrets
Copy link
Member

No description provided.

@greptile-apps
Copy link

greptile-apps bot commented Jan 29, 2026

Greptile Overview

Greptile Summary

Pinned the cross tool to a specific commit (846d469b) in the release workflow to prevent build failures from unexpected upstream changes. Added a new test workflow (test-cross.yml) to validate cross-compilation builds for the aarch64-unknown-linux-musl target on pull requests.

Changes:

  • Modified .github/workflows/release.yml to install cross from commit 846d469b instead of the latest version
  • Created .github/workflows/test-cross.yml to test cross builds before they reach production
  • The test workflow triggers on changes to workflow files and validates the build process

Impact:

  • Ensures reproducible builds by locking cross to a known working version
  • Provides early detection of cross-compilation issues through PR testing
  • Prevents potential release failures from upstream cross-rs changes

Confidence Score: 5/5

  • This PR is safe to merge - it improves build reliability through version pinning and adds testing coverage
  • The changes are straightforward and defensive: pinning a build tool to a specific working commit eliminates potential breakage from upstream changes, while the new test workflow provides validation before production releases. Both changes follow CI/CD best practices.
  • No files require special attention

Important Files Changed

Filename Overview
.github/workflows/release.yml Pinned cross installation to specific commit (846d469b) to ensure reproducible builds
.github/workflows/test-cross.yml Added new workflow to test cross builds on PR changes, validates aarch64-unknown-linux-musl target

Sequence Diagram

sequenceDiagram
    participant PR as Pull Request
    participant TestCross as test-cross.yml
    participant Release as release.yml
    participant CrossRepo as cross-rs/cross
    participant Cargo as cargo install
    participant Build as Cross Build
    
    Note over PR,Build: PR Workflow (test-cross.yml)
    PR->>TestCross: Trigger on PR (workflow changes)
    TestCross->>Cargo: Install cross from git
    Cargo->>CrossRepo: Fetch commit 846d469b
    CrossRepo-->>Cargo: Return pinned version
    Cargo-->>TestCross: cross installed
    TestCross->>Build: Run cross build (aarch64-unknown-linux-musl)
    Build-->>TestCross: Binary created
    TestCross->>TestCross: Verify binary with file command
    
    Note over PR,Build: Release Workflow (release.yml)
    Release->>Cargo: Install cross from git (if use_cross)
    Cargo->>CrossRepo: Fetch commit 846d469b
    CrossRepo-->>Cargo: Return pinned version
    Cargo-->>Release: cross installed
    Release->>Build: Run cross build (aarch64-unknown-linux-musl)
    Build-->>Release: Release binary created
Loading

@infiniteregrets infiniteregrets merged commit b133cbc into main Jan 29, 2026
5 checks passed
@infiniteregrets infiniteregrets deleted the fix/pin-cross-version branch January 29, 2026 05:06
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