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

Release CI fails to trigger CircleCI linux aarch64 build #430

Closed
huonw opened this issue Nov 27, 2024 · 2 comments · Fixed by #427
Closed

Release CI fails to trigger CircleCI linux aarch64 build #430

huonw opened this issue Nov 27, 2024 · 2 comments · Fixed by #427

Comments

@huonw
Copy link
Contributor

huonw commented Nov 27, 2024

The 0.12.1 build failed: https://github.com/pantsbuild/scie-pants/actions/runs/12041161791/job/33578047638

Error: Error: Request failed with status code 403

also related #422

benjyw pushed a commit to pantsbuild/actions that referenced this issue Nov 27, 2024
…ersion to use. (#34)

When installing pants via actions/init-pants the latest version of the
scie-pants is used by default.

This broke for folks using linux aarch64 due to a problem with the
builds (see pantsbuild/scie-pants#430).

Add an input which allows you to specify a version to pass into
`get-pants.sh --version`, e.g. "0.12.0" calls it with `get-pants.sh
--version 0.12.0`. When no version is specified the flag is omitted and
the default of the latest version is used.

We've been using this with the following in our fork to pin our build
scie-pants version:

```yaml
- uses: Noryai/pants-actions/init-pants@main
  with:
    get-pants-version: 0.12.0
```
@huonw
Copy link
Contributor Author

huonw commented Nov 27, 2024

I've marked 0.12.1 as a pre-release, and 0.12.0 as the latest stable release, so because the lack of linux aarch64 binaries was causing issues for anyone running get-pants.sh like that (that is, no explicit --version ... arg). This got that working again on my system

The pants setup action didn't allow passing that arg until recently: pantsbuild/actions#34

@martimlobao
Copy link

Not sure if this is an issue since it sounds like the problem is specific to Linux, but the latest version in the Homebrew tap is still 0.12.1: pantsbuild/homebrew-tap@bb3e3ba

@huonw huonw closed this as completed in #427 Dec 4, 2024
@huonw huonw closed this as completed in c2c346f Dec 4, 2024
huonw added a commit that referenced this issue Dec 9, 2024
Instead of publishing partial releases (even for a few minutes) as the
matrix of builds adds their artefacts, create a draft release that we
then publish in once the build has finished.

Background: the build process involves some set-up, then a matrix of
building for different platforms, then some finalisation. This change is
moving the "publish the release" from the matrix jobs to the
finalisation job.


![image](https://github.com/user-attachments/assets/ec8d2161-6fe3-471c-bdc7-aa1f887f1cf4)


This has a few benefits:

- Atomic publishing: a release is only published once it has artifacts
for all platforms. Before this change, if a builder fails for one
platform, we'll have published a "latest" release visible to
`get-pants.sh`, and so running that on the broken platform will fail.
(Example: #430.)
- Reduced duplicate work: rather than have each builder in the matrix
compute changelogs etc., just do it once as part of the publishing. This
is more conceptually helpful, than an optimisation, since it only takes
a few seconds to prep the changelog.
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 a pull request may close this issue.

2 participants