Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add workflow files to enable GitHub Actions #90

Merged
merged 2 commits into from
Feb 21, 2024

Conversation

cold-brewed
Copy link
Contributor

This PR adds basic workflow files to enable GHA for the following platforms:

  • Windows x86_64 via msys2
  • Linux x86_64
  • macOS (arm and x86_64)
    • Separate jobs and artifacts are required because cargo can't build universal binaries

Each run will have a portable artifact produced in the form of a zip.

The steps are essentially:

  • Build martypc
  • Copy binary to install/
  • Rename install/ to martypc/
  • Create artifact from that directory

Note: The binaries are currently being built with the EGA feature (cargo build -r --features ega). If this becomes default in the future (or the build args change for any reason) the build command will need to be updated.

It would probably be more ideal to add a matrix to the workflow and produce multiple artifacts based on different build-time features.

Also note: GitHub only supports zip files as artifacts. Since zip does not maintain posix file permissions a tar file is first created on macOS and linux. That tar file is then zipped by GitHub and presented as the artifact.

@dbalsom dbalsom merged commit 317f511 into dbalsom:version_0_2_0 Feb 21, 2024
4 checks passed
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