Skip to content

feat(release): Add linux arm64 build to matrix - #947

Merged
epage merged 1 commit into
crate-ci:masterfrom
smerle33:linux-arm64
Jun 12, 2024
Merged

epage merged 1 commit into
crate-ci:masterfrom
smerle33:linux-arm64

Conversation

@smerle33

@smerle33 smerle33 commented Mar 20, 2024 •

Copy link
Copy Markdown
Contributor

we (jenkins infra team) would like to use an ARM64 linux version of typos.
Reading this issue #828 and this PR #908 it sounds like it was just missing a build block for linux arm64 ... seem a little too easy but I did this at least to make my contribution to the task.

@epage

epage commented Mar 20, 2024

Copy link
Copy Markdown
Collaborator

A hack will need to be implemented to vet that this works in CI (since we don't run post-release on regular CI runs)

@smerle33 smerle33 changed the title feat(release): add linux arm64 build to matrix feat(release): Add linux arm64 build to matrix Mar 20, 2024
@smerle33

Copy link
Copy Markdown
Contributor Author

A hack will need to be implemented to vet that this works in CI (since we don't run post-release on regular CI runs)

I don't know much about this CI, but if this would have been to be tested within a PR (not the tag or build on main), I would have done a replay with the post-release step as a mandatory step but with staging filename or url, or even a manual sh step with the rust compilation command ....

May I be of any help to ease your process / tests ?

@epage

epage commented Mar 20, 2024

Copy link
Copy Markdown
Collaborator

post-release is skipped because it negatively impacts build times when few things change it. We could possibly filter to only run it if post-release itself is changing. So far, it hasn't been worth it because post-release doesn't change much.

@smerle33
smerle33 marked this pull request as ready for review March 20, 2024 14:43
@smerle33

Copy link
Copy Markdown
Contributor Author

hi @epage,
any input on the ability to provide an arm64 with or without this PR ?

Thanks for your time and help !

@smerle33

Copy link
Copy Markdown
Contributor Author

hi @epage what can I do to help you on this PR ?

Stéphane

@epage

epage commented Jun 4, 2024

Copy link
Copy Markdown
Collaborator

I'm not seeing a CI run from when a hack was added to show that the job works

@smerle33

Copy link
Copy Markdown
Contributor Author

I'm not seeing a CI run from when a hack was added to show that the job works

not sure to understand ... doesn't the CI need to be launch manually ?
if I remember correctly the test failed at the first one because of the casse used on the commit message ....
Tell me if you need me to do something.

@epage

epage commented Jun 10, 2024

Copy link
Copy Markdown
Collaborator

For new contributors, I have to approve a CI run. CI may report a non-blocking failures about commit messages.

Separately from that, I want to make sure that the release pipeline will work for the proposed platform. The way to do that is to post an temporary commit that hacks up the release pipeline to kick off for all branches and not create a release, just run the builds. If that is posted and works, ping me. I'll say you can then remove the commit. Ping me again, and I'll merge.

@smerle33

Copy link
Copy Markdown
Contributor Author

For new contributors, I have to approve a CI run. CI may report a non-blocking failures about commit messages.

Separately from that, I want to make sure that the release pipeline will work for the proposed platform. The way to do that is to post an temporary commit that hacks up the release pipeline to kick off for all branches and not create a release, just run the builds. If that is posted and works, ping me. I'll say you can then remove the commit. Ping me again, and I'll merge.

@epage:
is this good enough ? 181329b

Thanks for your help and patience.

@epage

epage commented Jun 11, 2024

Copy link
Copy Markdown
Collaborator

Feel free to revert that change.

That change was for an unrelated pipeline but it reminded me that we already do Python wheel releases for aarch64 Linux, so doing it for our Github artifacts should work.

@smerle33

Copy link
Copy Markdown
Contributor Author

Feel free to revert that change.

That change was for an unrelated pipeline but it reminded me that we already do Python wheel releases for aarch64 Linux, so doing it for our Github artifacts should work.

reverted, thanks !

@coveralls

coveralls commented Jun 12, 2024 •

Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 9477595845

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 23.047%

Totals Coverage Status
Change from base Build 9456135739: 0.0%
Covered Lines: 534
Relevant Lines: 2317

💛 - Coveralls

@epage
epage merged commit cabb273 into crate-ci:master Jun 12, 2024
@epage

epage commented Jun 12, 2024

Copy link
Copy Markdown
Collaborator

Looks like there were still differences in what maturin does as the pipeline failed and I had to revert this.

@smerle33

Copy link
Copy Markdown
Contributor Author

so @epage , if I understood correctly, the error is :
https://github.com/crate-ci/typos/actions/runs/9485498229/job/26137667390#step:5:378

error: linking with `cc` failed

which seems not uncommon on cargo: https://stackoverflow.com/questions/28124221/error-linking-with-cc-failed-exit-code-1
I do use a macbook pro M1 on arm so may be of some help to try things.
But I would admit that this look far beyond my ability ...
keep me informed if you feel that I can still help in having typo built for arm64

@smerle33

smerle33 commented Jun 14, 2024 •

Copy link
Copy Markdown
Contributor Author

@gounthar

gounthar commented Jul 18, 2024 •

Copy link
Copy Markdown

I don't know if that's the correct way to build typos, but I ran docker build . on an aarch64 Linux machine and got:

=> ERROR [builder 4/4] RUN cargo install --path .                                                                                                                            0.5s
------
> [builder 4/4] RUN cargo install --path .:
0.509 error: found a virtual manifest at `/usr/src/typos/Cargo.toml` instead of a package manifest
------

I had the same error with an x86_64 machine so I guess my attempt at building typos is plenty wrong. 🤔

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.

4 participants