1. Building Euphoria with GitHub Actions
- Posted by ghaberek (admin) Dec 11, 2021
- 1372 views
Good news! I'm making progress on setting up automatic builds with GitHub Actions.
So far I have it building for Linux and Windows and x86 (32-bit) and x86-64 (64-bit).
Here are the current steps in the workflow:
- Checkout Repository - clones the master branch from GitHub
- Install Compilers (Linux x86) - installs i686-linux-gnu cross-compiler
- Install Compilers (Windows x86) - installs mingw-w64-i686 cross-compiler
- Install Compilers (Windows x64) - installs mingw-w64-x86-64 cross-compiler
- Install Euphoria - downloads and extracts current Euphoria 4.1 from GitHub
- Run Configure - runs ./configure for the specified arch and platform
- Build Euphoria - runs make all and make htmldoc (I'm having trouble with pdfdoc and LaTeX)
- Get Short Hash - gets the current short hash for the current branch (e.g. 89c9a17)
- Upload Artifacts - uploads the build directory contents as artifacts
New builds will get kicked off on push or pull request. When the workflow is done, the artifacts can be downloaded at the bottom of the page.
Here's an example workflow: https://github.com/OpenEuphoria/euphoria/actions/runs/1567985941 (currently in progress as of this writing)
A full run currently takes under 15 minutes. I will work on better parallelization to get that down. The Makefile is a hot mess and actually repeats itself a few times.
-Greg
2. Re: Building Euphoria with GitHub Actions
- Posted by Icy_Viking Dec 11, 2021
- 1353 views
This is some good progress, Greg. Perhaps with this setup it will be possible to get bleeding edge versions of Euphoria as well.
3. Re: Building Euphoria with GitHub Actions
- Posted by ghaberek (admin) Dec 11, 2021
- 1357 views
This is some good progress, Greg. Perhaps with this setup it will be possible to get bleeding edge versions of Euphoria as well.
Absolutely! With some fine tuning this will be used to provide a "nightly binaries" package with each code change and a complete package when new versions are tagged in the repo.
Edit: Actually the "nightly binaries" are basically working now. You can download them from the "artifacts" section at the bottom of the latest workflow page. Here is the latest: 1567985941
-Greg
4. Re: Building Euphoria with GitHub Actions
- Posted by ryanj Dec 11, 2021
- 1330 views
This is some good progress, Greg. Perhaps with this setup it will be possible to get bleeding edge versions of Euphoria as well.
Absolutely! With some fine tuning this will be used to provide a "nightly binaries" package with each code change and a complete package when new versions are tagged in the repo.
Edit: Actually the "nightly binaries" are basically working now. You can download them from the "artifacts" section at the bottom of the latest workflow page. Here is the latest: 1567985941
-Greg
That's awesome! I feel like one of the weakest parts of the current Euphoria is the building process. When the nightly builds stopped working a while back, I thought, oh crap, this is a bad sign.
5. Re: Building Euphoria with GitHub Actions
- Posted by Icy_Viking Dec 12, 2021
- 1344 views
This is some good progress, Greg. Perhaps with this setup it will be possible to get bleeding edge versions of Euphoria as well.
Absolutely! With some fine tuning this will be used to provide a "nightly binaries" package with each code change and a complete package when new versions are tagged in the repo.
Edit: Actually the "nightly binaries" are basically working now. You can download them from the "artifacts" section at the bottom of the latest workflow page. Here is the latest: 1567985941
-Greg
All good news. I did a quick glance, but I couldn't really tell. Do the nightly builds have the struct feature implemented?
6. Re: Building Euphoria with GitHub Actions
- Posted by ghaberek (admin) Dec 12, 2021
- 1282 views
All good news. I did a quick glance, but I couldn't really tell. Do the nightly builds have the struct feature implemented?
Currently, no. It's just building the master branch. Once I can get this workflow to build a complete package, I'll get the struct branch merged in as well. One thing at a time!
-Greg
7. Re: Building Euphoria with GitHub Actions
- Posted by Icy_Viking Dec 12, 2021
- 1290 views
All good news. I did a quick glance, but I couldn't really tell. Do the nightly builds have the struct feature implemented?
Currently, no. It's just building the master branch. Once I can get this workflow to build a complete package, I'll get the struct branch merged in as well. One thing at a time!
-Greg
Alrighty. Still good progress.
8. Re: Building Euphoria with GitHub Actions
- Posted by katsmeow Dec 14, 2021
- 1189 views
Absolutely! With some fine tuning this will be used to provide a "nightly binaries" package with each code change and a complete package when new versions are tagged in the repo.
Are there daily code changes being made now that need new nightly bleeding edge builds?
Kat
9. Re: Building Euphoria with GitHub Actions
- Posted by ghaberek (admin) Dec 14, 2021
- 1200 views
Are there daily code changes being made now that need new nightly bleeding edge builds?
They're not really "nightly" builds; that's just historically what we've called them here.
They are, however, still "bleeding edge" as any push to the repo will trigger a new build.
There will be more changes coming as I work toward merging the struct branch and releasing 4.2.
-Greg