Skip to content

Conversation

@deitch
Copy link
Contributor

@deitch deitch commented Oct 17, 2025

I did three things in this PR.

  • Made artifact-name parameter to the reusable build workflow as optional. Artifact names need to be unique within a workflow, not across distinct workflows. We only needed it because the build workflow has the main build, and sim, and multilib, etc. But for nightly, where there is only one build (matrixed across variant os, lib, arch, etc.), we don't need it. So same functionality if provided, but perfectly fine if not.
  • Saved the artifact contents as the name of the artifact. The output of the build on any combination in the matrix always was riscv.tar.xz, and then we saved it in an artifact named riscv32-newlib-gcc (etc. etc), making it unique. However, if you pulled it down (elsewhere in the workflow or to your desktop or server), it would extract all of them to riscv.tar.xz, clobbering each other. Instead, right before uploading the artifact, renames riscv.tar.xz to riscv32-newlib-gcc-whatever.tar.xz, so that the artifact name and content are unique, and ensures no clobbering.
  • Fixed the nightly release. It uses the above fixes to remove the artifact name extension, so it is just riscv32-newlib-gcc-whatever, not -build or -nightly at the end, which lets us download them all to a single directory, which lets us upload them easily as part of the release creation. Also did it in an accessible directory, rather than /mnt/artifacts.

Copy link
Collaborator

@cmuellner cmuellner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@deitch
Copy link
Contributor Author

deitch commented Oct 17, 2025

Thanks @cmuellner ; I am sure CI will take up to an hour. I will post here when it is done.

@deitch
Copy link
Contributor Author

deitch commented Oct 17, 2025

Hey @cmuellner since this is running already, any objection to adding some more parameters to the reusable build that could get passed to configure, like cmodel or languages? Default would remain like it is, but nice to be able to kick things off in different ways if we want.

@cmuellner
Copy link
Collaborator

Hey @cmuellner since this is running already, any objection to adding some more parameters to the reusable build that could get passed to configure, like cmodel or languages?

I'm fine with that.

@deitch
Copy link
Contributor Author

deitch commented Oct 17, 2025

I am like that as well. As long as the default remains unchanged ("don't break assumptions without a really good reason") and it doesn't add unusual complexity, sure. Coming momentarily.

@deitch
Copy link
Contributor Author

deitch commented Oct 17, 2025

Done. Let CI run its way.

@deitch
Copy link
Contributor Author

deitch commented Oct 17, 2025

Runners seem to be backed up.

@deitch
Copy link
Contributor Author

deitch commented Oct 17, 2025

Some passed well, others in progress, others queuing. I am watching.

Copy link
Collaborator

@cmuellner cmuellner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@cmuellner cmuellner merged commit 357800b into riscv-collab:master Oct 17, 2025
31 checks passed
@cmuellner
Copy link
Collaborator

Nightly build works again: https://github.com/riscv-collab/riscv-gnu-toolchain/releases/tag/2025.10.18.

Thanks, @deitch, for reworking the workflows and the follow-up!

@deitch deitch deleted the fix-nightly-build branch October 19, 2025 06:45
@deitch
Copy link
Contributor Author

deitch commented Oct 19, 2025

Excellent! I am glad it worked out. And only one PR and one correction, when dealing with Actions, actually is pretty good. I think we did well here.

@TommyMurphyTM1234
Copy link
Collaborator

Was there an intention to address this issue with this PR?

The annoncement email still says:

This release has 2 assets:

  • Source code (zip)
  • Source code (tar.gz)

But the release actually has 26 assets:

2025-10-19 13 38 37

Apologies if I've overlooked some discussion related to this...

@deitch
Copy link
Contributor Author

deitch commented Oct 19, 2025

Was there an intention to address this issue with this PR?

Not an intention, as much as a hope. I am not sure why the automated emails do this.

@deitch
Copy link
Contributor Author

deitch commented Oct 19, 2025

It appears (I would like confirmation) to be part of how GitHub email works. As soon as a release is created, the email goes out. The fact that you upload assets right afterwards - which you have to do, since you cannot upload assets to a non-existent release - is immaterial to it.

I do wonder if creating the release as a draft, then uploading assets, then actually releasing it, would change the behaviour. Bit of a pain though. The first step would be what we do now, just changing draft: false to draft: true, but then you would need another step afterwards to switch it. There is another action on the marketplace that publishes a draft release. I have not used that one.

It is worth an experiment; see if it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants