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

CI: Added Release and Test Workflows for Linux/Android/Mac/Windows #808

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

andrewgigena
Copy link

Merry Christmas, everyone! 🎄 I noticed the project was missing workflows for testing commits and auto-generating assets for releases. So, to spread some holiday cheer and functionality, I’ve added a few enhancements to the CI/CD pipeline.

Changes Made:

  • New Workflows: Introduced GitHub Actions workflows (release.yml and test.yml) to build and test the project across various platforms and architectures. These are modified versions of the ripgrep workflows.
  • Platform Support (all 64-bit):
    • Linux: x86_64, aarch64, powerpc64le, s390x, riscv64.
    • MacOS: x86_64, aarch64.
    • Windows: x86_64, aarch64.
    • Android: x86_64, aarch64.
  • Release Workflow: The release.yml workflow automatically creates a GitHub release and uploads binaries and archives when a tag with the format vX.Y.Z is pushed.
  • Cross-Compilation: Added a Cross.toml file to define pre-build commands for cross-compilation on non-Linux x86_64 builds.
  • Library Update: Replaced rust-crypto with aes and cbc in my branch of delink. This resolves build failures on macOS and Windows caused by the outdated rust-crypto library (last updated 8 years ago). Otherwise, it will fail on every release (tests works fine). I created a PR at delink on Drop rust-crypto support about this issue.

Testing:

Here’s a summary of the testing I performed:

Linux Builds:

  • Tested x86_64 natively on my machine.
  • Simulated other architectures using QEMU on Debian after installing liblzma-dev.
    Linux Build Screenshot

Windows Builds:

  • Tested the x86_64 version on a virtual machine.
  • The aarch64 version is untested.
    Windows Build Screenshot

MacOS Builds:

  • Unfortunately, I don’t have access to Mac hardware and couldn’t test these builds.

Android Builds:

  • Successfully tested on a Google Pixel 4 running LineageOS 22.
    Android Build Screenshot

Links:


These updates aim to enhance the project’s CI/CD pipeline by ensuring better platform support and smoother development workflows. Please take a look and let me know if there’s anything else you’d like adjusted or improved.

Wishing you all a fantastic holiday season! 🎅

Best regards,
Andrew Gigena

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