primer3-org / primer3

Primer3 is a command line tool to select primers for polymerase chain reaction (PCR).
GNU General Public License v2.0
222 stars 64 forks source link

Add CI workflow for Ubuntu ARM64 #69

Closed martin-g closed 2 weeks ago

martin-g commented 2 years ago

Uses QEMU emulation to execute the build and tests in Ubuntu ARM64 Docker container

Related-to: #68

martin-g commented 2 years ago

CI result could be seen at https://github.com/martin-g/primer3/runs/7765454528?check_suite_focus=true

martin-g commented 2 years ago

Any feedback on the PR ?

julien-faye commented 2 years ago

@martin-g Thank you for adding CI for Linux ARM64 to Primer3! I am not a member of the team, I am just a regular user, but still having CI will re-assure me that any future changes to the software will be tested and the CI will prevent regressions!

untergasser commented 2 years ago

Hi,

it is great and I will include it. I was on holidays and I am currently busy with other projects with a tight deadline. But I will do this once I work on primer3. Thank you for creating this.

Best, Andreas

martin-g commented 2 years ago

Thanks for the answer, @untergasser ! I am glad you find it useful!

emiliofernandes commented 1 year ago

This PR gave me confidence to start using Primer3 on Linux aarch64! :-) I hope it is merged soon!

markjens commented 1 year ago

It is good to see that other people also use Primer3 on aarch64! Thank you all!

untergasser commented 1 month ago

I looked at this again. We support Windows, Linux and MacOS as default tests. I do not want to run QEMU in a docker image - my fear is that I spend time debugging this instead of working on Primer3. Therefore I tend not to include this.

What is the use case for Primer3 on aarch64? What machines run aarch64?

Best, Andreas

martin-g commented 1 month ago

Hi @untergasser !

More and more cloud/server/HPC deployments are being moved to / started on Linux ARM64 due to:

Here is some info about the Linux ARM64 VM offerings by the major cloud providers:

  1. AWS (Amazon Web Services) provides Graviton CPUs.
  2. Microsoft Azure provides VMs with Ampere CPUs.
  3. Google Cloud - Tau and Tensor CPUs.
  4. Oracle Cloud also provides Ampere.
  5. Huawei Cloud - VMs with Kunpeng CPUs.

In HPC few of the top 10 systems are based on ARM64:

Despite the info above I'd be OK if you just close this PR without merging it! The Mac OS CI job uses macos-latest that is a synonym to macos-14, i.e. Mac ARM64. It is not exactly the same as Linux ARM64 but it is very similar!

Also since recently the Bioconda project provides a linux-aarch64 build of primer3 - https://github.com/bioconda/bioconda-recipes/pull/48448. Bioconda project uses CircleCI to build natively on Linux ARM64 VMs.

untergasser commented 2 weeks ago

Hi @martin-g,

I see the potential. Lets close this pull request then for now.

If GitHub offers a native ARM64 platform, I will add this functionality.

Ping me if I happen to oversee this.

Best, Andreas