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 version updates to resolve deprecated versions causing pipeline failures #1069

Closed
wants to merge 16 commits into from

Conversation

dave42w
Copy link
Contributor

@dave42w dave42w commented Dec 4, 2024

Description

I've gone through the CI warnings and checked versions of things used. Several versions in our CI are either no longer supported or about to be deprecated. I don't know why dependabot hasn't picked up some of these.

I don't know how to test these locally.

It would be great if server.rs could have the rust1.83 warnings fixed. The error didn't make a lot of sense to me (and the ci is now using Rust 1.83 and so getting these clippy warnings for all PR's)

I'll submit a PR for a rewrite of the web_socket test so that doesn't keep failing.

drop python 3.8 everywhere

switch from macos-12 to macos-latest

switch from ubuntu-20.04 to ubuntu-latest
switch from ubuntu-22.04 to ubuntu-latest

switch from uv v3 to v4

switch from python 3.8 to 3.9

switch from codspeed v2 to v3

switch from nox 2024.03.02 to 2024.10.09

switch upload artifact from v3 to v4

switch from download artifact from v3 to v4

This PR fixes #1042

PR Checklist

Please ensure that:

  • The PR contains a descriptive title
  • The PR contains a descriptive summary of the changes
  • You build and test your changes before submitting a PR.
  • You have added relevant documentation
  • You have added relevant tests. We prefer integration tests wherever possible

Pre-Commit Instructions:

switch from ununtu-22.04 to ubuntu-latest
switch from uv v3 to uv v4
switch from python 3.8 to 3.9
switch from codspeed v2 to v3
switch from uv v3 to v4
switch from macos-12 to macos-latest
drop python 3.8 everywhere
switch build wheel from ubuntu20.04 to ubuntu-latest
drop python 3.8
upgrade from nox 2024.03.02 to 2024.10.09
upgrade macos-12 to macos-latest
drop python 3.8
upgrade uv from v3 to v4
upgrade upload artifact from v3 to v4
upgrade from ubuntu20.04 to ubuntu-latest
upgrade from download artifact from v3 to v4
Copy link

vercel bot commented Dec 4, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
robyn ✅ Ready (Inspect) Visit Preview 💬 Add feedback Dec 10, 2024 6:24pm

Copy link

codspeed-hq bot commented Dec 4, 2024

CodSpeed Performance Report

Merging #1069 will not alter performance

Comparing dave42w:ci (b7e9686) with main (f86dbd5)

Summary

✅ 146 untouched benchmarks

@sansyrox
Copy link
Member

sansyrox commented Dec 6, 2024

Hey @dave42w 👋

The CI fails for some reason :/ Could you please have a look?

@dave42w
Copy link
Contributor Author

dave42w commented Dec 6, 2024

Hey @dave42w 👋

The CI fails for some reason :/ Could you please have a look?

It looks like the aarch64 is not supported on ubuntu-latest as that has switched to ubuntu-24.04 so I'll switch to ubunti-22.04 explicitly for linux-cross builds

@sansyrox
Copy link
Member

sansyrox commented Dec 7, 2024

Hey @dave42w 👋

The ci is still failing ://

run-on-arch: /home/runner/work/_actions/uraimo/run-on-arch-action/v2/Dockerfiles/Dockerfile.armv7.ubuntu-latest does not exist.

Could you have a look at this?

@dave42w
Copy link
Contributor Author

dave42w commented Dec 7, 2024

Ok I'll have a Google 😁

@dave42w
Copy link
Contributor Author

dave42w commented Dec 8, 2024

Hey @dave42w 👋

The ci is still failing ://

run-on-arch: /home/runner/work/_actions/uraimo/run-on-arch-action/v2/Dockerfiles/Dockerfile.armv7.ubuntu-latest does not exist.

Could you have a look at this?

switched all to Ubuntu-22.04 for consistency

@dave42w
Copy link
Contributor Author

dave42w commented Dec 8, 2024

Added commit renaming of .cargo/config to .cargo/cargo.toml to remove a build warning as config is deprecated since cargo 1.38

.cargo/config.toml Outdated Show resolved Hide resolved
@sansyrox
Copy link
Member

sansyrox commented Dec 8, 2024

Hey @dave42w 👋

The CI is still failing :// I have some suggestions tho

@dave42w
Copy link
Contributor Author

dave42w commented Dec 10, 2024

Hi @sansyrox

Are we getting anywhere with this?

@sansyrox
Copy link
Member

Hey @dave42w 👋

Overall, it looks very good to me 😄 I will be merging this once the CI passes 😄

@sansyrox
Copy link
Member

Hey @dave42w 👋

Traceback (most recent call last):
File "", line 1, in
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/robyn/init.py", line 13, in
from robyn.authentication import AuthenticationHandler
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/robyn/authentication.py", line 4, in
from robyn.robyn import Headers, Identity, Request, Response
ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/robyn/robyn.cpython-312-darwin.so, 0x0002): tried: '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/robyn/robyn.cpython-312-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/robyn/robyn.cpython-312-darwin.so' (no such file), '/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/robyn/robyn.cpython-312-darwin.so' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64'))

The ci is failing ://

@dave42w
Copy link
Contributor Author

dave42w commented Dec 10, 2024

Hi,

I'm struggling to see what I've changed that might cause this.

Traceback (most recent call last):
File "", line 1, in
...
The ci is failing ://

Do you know which workflow .yaml has the problem?

Dave

@dave42w
Copy link
Contributor Author

dave42w commented Dec 10, 2024

Ah ha,

There are still some - uses: actions/checkout@v3 which I guess should be - uses: actions/checkout@v4
fixing now.

sewtup-uv now v4
chrekout always v4
upload-artifact now v4
@dave42w
Copy link
Contributor Author

dave42w commented Dec 10, 2024

Hi @sansyrox

I'm hoping that these version changes fix the problems. After all, I haven't changed any of the logic. My changes are only to update the version of macos and ubuntu we use, update the version of the various "uses" and removing python 3.8.

It would be so helpful if we were only getting ci fails for real problems, they get masked when every PR fails every time because of ci issues.

@sansyrox
Copy link
Member

Hey @dave42w 👋

The linux builds are still failing

n uraimo/run-on-arch-action@v2
Error: run-on-arch: /home/runner/work/_actions/uraimo/run-on-arch-action/v2/Dockerfiles/Dockerfile.aarch64.ubuntu-22.04 does not exist.

@dave42w
Copy link
Contributor Author

dave42w commented Dec 10, 2024

Hi @sansyrox

uraimo/run-on-arch-action@v2
Error: run-on-arch: /home/runner/work/_actions/uraimo/run-on-arch-action/v2/Dockerfiles/Dockerfile.aarch64.ubuntu-22.04 does not exist.

Is this in preview-deployments.yml or releasE_CI.yml?

I've googled it. As far as I can tell it is a change in the build process see uraimo/run-on-arch-action#155

I think it's something to do with the build process change in https://github.com/docker-library/official-images. See for example https://github.com/docker-library/python/issues/933:

    We've been slowly moving Official Images to a new build process and moved python yesterday, so now the arch-specific namespaces are an image index because they include attached provenance/sbom metadata.

There seem to be mixed messages about whether Ubuntu 24.04 or 22.04 will work (but if we use 20.04 we get warnings from GitHub)

  1. It might be fixed with Run-On-Arch 2.8.1 so maybe we should temporarily hard code that version on line 126
  2. We go back and try earlier Ubuntu versions. Maybe lock the whole of linux-cross to Ubuntu 22.04 first then 20.04 if that doesn't work.

It's probably 10x faster for you to make these changes directly rather than iterate via this pr?

with:
name: wheels
path: dist
linux:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
Copy link
Member

Choose a reason for hiding this comment

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

let's just keep this to ubuntu-latest

with:
name: wheels
path: dist
linux-cross:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
Copy link
Member

Choose a reason for hiding this comment

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

and this too

@sansyrox
Copy link
Member

@dave42w ,

I think this pr contains to many changes at once. What do you think about leaving ubuntu as the original and changing everything else?

@dave42w
Copy link
Contributor Author

dave42w commented Dec 10, 2024

@dave42w ,

I think this pr contains to many changes at once. What do you think about leaving ubuntu as the original and changing everything else?

At the moment I think we are going in slow circles.

It's going to take weeks if I make these changes one at a time into PRs as I can't see the effects.

@sansyrox
Copy link
Member

@dave42w , we should then address it step by step. First drop python3.8, then update uv and codspeed gh actions. and rest of it in a separate PR.

What do you think?

@dave42w
Copy link
Contributor Author

dave42w commented Dec 10, 2024

@dave42w , we should then address it step by step. First drop python3.8, then update uv and codspeed gh actions. and rest of it in a separate PR.

What do you think?

Now we know what a mess of conflicts there are a clean step by step approach makes sense.

But as only you can apply and check each change it seems to make sense for you to do it as otherwise it takes us both that amount of time.

@dave42w
Copy link
Contributor Author

dave42w commented Dec 11, 2024

I'm marking this as closed. I see @sansyrox has started the step by step approach 😁

@dave42w dave42w closed this Dec 11, 2024
@sansyrox
Copy link
Member

Hey @dave42w 👋

You can take over. I just dropped support for 3.8 as it was blocking another feature implementation. 😅

@sansyrox sansyrox reopened this Dec 11, 2024
@dave42w
Copy link
Contributor Author

dave42w commented Dec 11, 2024

Hey @dave42w 👋

You can take over. I just dropped support for 3.8 as it was blocking another feature implementation. 😅

See #1081 for the first of these. Just updates the versions of the github actions. I figured there might be dependency issues between these so have put all these version updates (and nothing else) into that new PR

@dave42w dave42w closed this Dec 19, 2024
@dave42w dave42w deleted the ci branch December 19, 2024 16:11
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.

Python 3.8 is officially now unsupported
2 participants