maxitg / SetReplace

C++/Wolfram Language package for exploring set and graph rewriting systems
MIT License
216 stars 43 forks source link

Save build artifacts in CI #540

Closed maxitg closed 3 years ago

maxitg commented 3 years ago

Changes

Comments

Examples


This change is Reviewable

maxitg commented 3 years ago

@taliesinb, that will definitely be useful, but it will be difficult to include them into the CI builds because Circle CI does not seem to support ARM yet: https://discuss.circleci.com/t/arm-builds/29102. Perhaps we can cross-compile them from Linux.

maxitg commented 3 years ago

The goal is to have the builds on macOS and Windows as well. Then, we can create the multi-platform paclets suitable for releases completely on Circle CI, which means we won't have to rely on internal Wolfram infrastructure, which is suboptimal because:

  1. Only internal people have access.
  2. Even I don't have access to changing the build config, which means doing something as simple as changing Xcode or WL version might take 100+ hours.
  3. It is congested, sometimes it takes a significant amount of time for the build to even start. It's gotten better recently after updating the Xcode version (see the previous item), but on Circle CI the builds always start instantly.
  4. It is manual, one has to connect to the VPN, push a specific branch to stash, and start the build, whereas Circle CI will run automatically for all commits on all branches, and will immediately tell us if the builds on other platforms fail.
maxitg commented 3 years ago

And also, once Circle CI can create paclets, we can implement a CD as well, where the paclets will just get deployed automatically after each new build to master without any manual involvement. We can even set it up in a way that it auto-updates users' paclets without any work from our side except for merging a branch to master.

daneelsan commented 3 years ago

I see, that seems really convenient. I once wanted to build a paclet for macos and didn't know how to do that.