UltraStar-Deluxe / USDX

The free and open source karaoke singing game UltraStar Deluxe, inspired by Sony SingStarâ„¢
https://usdx.eu
GNU General Public License v2.0
812 stars 160 forks source link

CI broken by #640 #643

Closed barbeque-squared closed 1 year ago

barbeque-squared commented 1 year ago

The CI is unhappy because since #640 was merged, it complains about install-sh not being found. Which is fair enough, because that PR deletes that file. I looked around a bit through the logs and I suspect the CI is not doing the autogen.sh step?

I didn't test this in my PR because I assumed the CI would just be following the compilation instructions anyway. I'd fix it myself if I had any idea how AppVeyor works.

Actual behaviour

https://ci.appveyor.com/project/basisbit/usdx/builds/45996039/job/8m5xh6d3cge3s479 https://ci.appveyor.com/project/basisbit/usdx/builds/45996225/job/4qy6e3jfthk6orpi

Expected behaviour

The builds pass

Details

The CI logs are quite hard to understand in general. By that I mean that I can't really relate the output to what I see on local machines. They also don't appear to consistently print what command they're running etc (which would at least let me search for that command in the git)

s09bQ5 commented 1 year ago

Before autoconf 2.70 autoreconf -i relied on automake to install aux files like install-sh. But since we don't use automake to generate Makefile.in, autoreconf never runs automake. Starting with 2.70 autoreconf tries to copy aux files itself when they are missing after running all other tools, see https://git.savannah.gnu.org/cgit/autoconf.git/commit/bin/autoreconf.in?h=id=35a1c64600894ecc3b06b6c4b273952db7c8fc83

barbeque-squared commented 1 year ago

Did some looking into this.

For the Ubuntu image: I think a call to autogen has to be made around here: - sh: $prepend ./dockerenv.sh make compress which as of writing is line 110 in /appveyor.yml. But I'm not sure if you can do something like

- sh: $prepend ./dockerenv.sh "./autogen.sh && make compress"

because of how things get passed to the dockerenv script

For the Ubuntu2004 image, I think something needs to go somewhere in the name: ultrastardx section which is at the end of the /dists/flatpak/eu.usdx.UltraStarDeluxe.yaml file?

This is as far as I'm able to contribute towards fixing it though, because I have absolutely no idea how AppVeyor works. I'm used to pipelines that split into a lot of small dedicated stages.