Skip to content

Conversation

@alexdewar
Copy link
Collaborator

@alexdewar alexdewar commented Jun 12, 2025

Description

This PR adds a CI workflow to build and upload executable files on release. The executables are stored in an archive with a readme file and a copy of the licence. Maybe we'll want a changelog in there too at some point.

In theory the program should run without any extra dependencies being installed.

I've also set the workflow to run when we push to main. I know that's a little odd, but I'd like to check that things are still building as we go along, as they could stop working when we update dependencies etc. (e.g. the old version of g++ we're using might not be compatible with a newer version of HiGHS). In this case, the executables are uploaded as test artifacts.

Unrelated change: I noticed we were missing the workflow_dispatch trigger for most of our workflows, so I've added it.

Closes #128.

Type of change

  • Bug fix (non-breaking change to fix an issue)
  • New feature (non-breaking change to add functionality)
  • Refactoring (non-breaking, non-functional change to improve maintainability)
  • Optimization (non-breaking change to speed up the code)
  • Breaking change (whatever its nature)
  • Documentation (improve or add documentation)

Key checklist

  • All tests pass: $ cargo test
  • The documentation builds and looks OK: $ cargo doc

Further checks

  • Code is commented, particularly in hard-to-understand areas
  • Tests added that prove fix is effective or that feature works

@codecov
Copy link

codecov bot commented Jun 12, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.31%. Comparing base (ef7d5f2) to head (25998f5).
Report is 7 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #616      +/-   ##
==========================================
- Coverage   85.34%   85.31%   -0.03%     
==========================================
  Files          38       38              
  Lines        3399     3399              
  Branches     3399     3399              
==========================================
- Hits         2901     2900       -1     
- Misses        305      306       +1     
  Partials      193      193              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@alexdewar alexdewar force-pushed the upload-binaries-on-release branch 2 times, most recently from bc06a3d to 36f63e8 Compare June 12, 2025 10:23
@alexdewar alexdewar mentioned this pull request Jun 12, 2025
10 tasks
@alexdewar alexdewar force-pushed the upload-binaries-on-release branch from cd0ab52 to 557a143 Compare June 12, 2025 14:54
It seems we forgot to do this, but it's useful e.g. to run the test workflow manually.
@alexdewar alexdewar force-pushed the upload-binaries-on-release branch from 592fb32 to 8d68d44 Compare June 13, 2025 09:30
@alexdewar alexdewar force-pushed the upload-binaries-on-release branch from 8d68d44 to 25998f5 Compare June 13, 2025 10:17
@alexdewar alexdewar requested a review from Copilot June 13, 2025 10:38
@alexdewar alexdewar marked this pull request as ready for review June 13, 2025 10:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR adds a CI workflow to build and upload MUSE 2.0 executables on release while also enabling the workflows to be manually triggered. It also adds readme files for the various supported operating systems and updates other workflows to include a workflow_dispatch trigger.

  • Adds a release workflow that builds, archives, and uploads release files.
  • Introduces OS-specific readme files that describe usage and troubleshooting.
  • Updates pre-commit, check-docs, and cargo-test workflows to support manual triggering.

Reviewed Changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.

Show a summary per file
File Description
assets/readme/readme_windows.txt New documentation file for Windows executable.
assets/readme/readme_macos_arm.txt New documentation file for macOS (Apple Silicon) executable with troubleshooting details.
assets/readme/readme_linux.txt New documentation file for Linux executable including dependency instructions.
assets/readme/README.md Introduces a README that summarizes the readme files in the folder.
.github/workflows/release.yml New CI workflow for release builds with OS-specific configurations and artifact uploads.
.github/workflows/pre-commit.yml Added workflow_dispatch trigger for flexible CI triggering.
.github/workflows/check-docs.yml Added workflow_dispatch trigger to enable manual docs checks.
.github/workflows/cargo-test.yml Added workflow_dispatch trigger; note removal of an env block was observed.

@alexdewar alexdewar requested a review from tsmbland June 13, 2025 10:38
@alexdewar alexdewar merged commit 7827181 into main Jun 13, 2025
7 checks passed
@alexdewar alexdewar deleted the upload-binaries-on-release branch June 13, 2025 13:43
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.

Automatically upload executables for releases

3 participants