1. Building Euphoria with GitHub Actions

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:

  1. Checkout Repository - clones the master branch from GitHub
  2. Install Compilers (Linux x86) - installs i686-linux-gnu cross-compiler
  3. Install Compilers (Windows x86) - installs mingw-w64-i686 cross-compiler
  4. Install Compilers (Windows x64) - installs mingw-w64-x86-64 cross-compiler
  5. Install Euphoria - downloads and extracts current Euphoria 4.1 from GitHub
  6. Run Configure - runs ./configure for the specified arch and platform
  7. Build Euphoria - runs make all and make htmldoc (I'm having trouble with pdfdoc and LaTeX)
  8. Get Short Hash - gets the current short hash for the current branch (e.g. 89c9a17)
  9. 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

new topic     » topic index » view message » categorize

2. Re: Building Euphoria with GitHub Actions

This is some good progress, Greg. Perhaps with this setup it will be possible to get bleeding edge versions of Euphoria as well.

new topic     » goto parent     » topic index » view message » categorize

3. Re: Building Euphoria with GitHub Actions

Icy_Viking said...

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

new topic     » goto parent     » topic index » view message » categorize

4. Re: Building Euphoria with GitHub Actions

ghaberek said...
Icy_Viking said...

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.

new topic     » goto parent     » topic index » view message » categorize

5. Re: Building Euphoria with GitHub Actions

ghaberek said...
Icy_Viking said...

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?

new topic     » goto parent     » topic index » view message » categorize

6. Re: Building Euphoria with GitHub Actions

Icy_Viking said...

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! blink

-Greg

new topic     » goto parent     » topic index » view message » categorize

7. Re: Building Euphoria with GitHub Actions

ghaberek said...
Icy_Viking said...

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! blink

-Greg

Alrighty. Still good progress.

new topic     » goto parent     » topic index » view message » categorize

8. Re: Building Euphoria with GitHub Actions

ghaberek said...

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

new topic     » goto parent     » topic index » view message » categorize

9. Re: Building Euphoria with GitHub Actions

katsmeow said...

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

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu