Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI is broken #1532

Closed
ivan-aksamentov opened this issue Oct 15, 2024 · 2 comments · Fixed by #1533
Closed

CI is broken #1532

ivan-aksamentov opened this issue Oct 15, 2024 · 2 comments · Fixed by #1533
Assignees
Labels
t:bug Type: bug, error, something isn't working

Comments

@ivan-aksamentov
Copy link
Member

ivan-aksamentov commented Oct 15, 2024

First noticed by @tsibley in #1529 (comment)

I tried to make empty commits stemming off master and off release branches, and they both have the same result - the binaries seems to be compiling successfully, but nothing gets copied to the .out dir. This is strange because the release branch definitely got built and released last time. I don't remember changing anything CI-related in a while.

If I try the same things locally, the

CROSS=x86_64-unknown-linux-gnu ./docker/dev br

produces .out/nextclade-x86_64-unknown-linux-gnu as expected.

and

./docker/cross

produces binaries for all platforms as expected:

s

I might need to clear docker images and retry.

I appreciate any input.

@tsibley
Copy link
Member

tsibley commented Oct 15, 2024

I diagnosed this back on #1529.

I believe that the bash checks should be met: running with br (build-release) means both BUILD=1 and RELEASE is set, and then CROSS should be set - the env var is provided explicitly when calling the script

Oh, you're totally right. I misread. It seems as if it's either 1) never getting to the cp, as cp would complain if anything was missing or 2) it's getting to the cp just fine, but for some other reason the upload-artifact step isn't seeing .out/.

And writing that out, it just clicked. actions/upload-artifact@v4 made some pretty big breaking changes—I recall from when I upgraded to v4 in other repos—and indeed, here's the one that's biting us now:

With v4.4 and later, hidden files are excluded by default.

We need to set:

include-hidden-files: true

in its params. Maybe also if-no-files-found: error instead of the default of only warning, since it seems like binaries should always be present.

@tsibley
Copy link
Member

tsibley commented Oct 15, 2024

Oh right, this wasn't purely the upload-artifact 3→4 upgrade either. They made the breaking change for v3 as well. It was a shitshow. Ugh, I'm recalling more than I wanted to now.

tsibley added a commit that referenced this issue Oct 15, 2024
Include hidden files since our sole path pattern is a hidden "file".
Apparently this counts even though the files the pattern matches aren't
hidden.

GitHub made this big breaking change of excluding hidden files without
bumping the major version number of actions/upload-artifact.¹  It,
rightfully so, caused a ruckus at the time and continues to be a gift
that keeps on giving.

The only other actions/upload-artifacts usage, in
.github/workflows/web.yml, seemingly isn't affected even though the path
contains a hidden directory.  Perhaps because in that case there are a
few more directory components after it?

¹ <https://github.com/actions/upload-artifact/releases/tag/v4.4.0>

Resolves: <#1532>
@tsibley tsibley self-assigned this Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
t:bug Type: bug, error, something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants