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 hygiene tracking issue #95

Closed
26 tasks done
estesp opened this issue Oct 18, 2022 · 10 comments
Closed
26 tasks done

CI hygiene tracking issue #95

estesp opened this issue Oct 18, 2022 · 10 comments

Comments

@estesp
Copy link
Member

estesp commented Oct 18, 2022

Due to various deprecations in GitHub Actions, we need to walk through all our sub-projects and get the following updates in flight. Since it's a fairly long list a tracking issue here in the overall project repo might help coordinate/track finishing this over time.

Deprecations

  • Ubuntu 18.04 OS runners: 18.04 is being deprecated and only 20.04 and 22.04 are supported. For many sub-projects for which we produce no binaries this should be an easy upgrade. For our main branch we have already made the change and our release process is "protected" by using containers in which we build the release binaries against the 18.04 LTS glibc/libraries. For release/1.5 and release/1.6 we may need to figure out how to continue to make releases without having 18.04 runners.
  • Node12 as an actions runtime: affects any built-in actions we use which use Node12 as a runtime; looking at CI output, for us this looks to be concentrated on actions/checkout and actions/setup-go which should both be updated to use "@v3" at a minimum.

While we are at it, we should be cleaning up any uses of old Go releases and moving all sub-project CI to Go 1.19.x.

Core project branches

  • main already complete
  • release/1.6
  • release/1.5 (EOL on 28 Feb so not going to update)

Sub-project checklist

  • cgroups
  • go-runc
  • console
  • continuity
  • ttrpc
  • release-tool
  • aufs
  • zfs
  • go-cni
  • fifo
  • nri
  • protobuild
  • typeurl
  • btrfs

Non-core subprojects

Maintainers of these projects may already be handling these issues, but maybe we can check/help if they want help.

  • nerdctl
  • accelerated-container-image
  • nydus-snapshotter
  • stargz-snapshotter
  • imgcrypt
  • rust-extensions
  • ttrpc-rust
  • overlaybd
  • fuse-overlayfs-snapshotter
@estesp
Copy link
Member Author

estesp commented Oct 24, 2022

Also see containerd/containerd#7580 (Update release action for set-output deprecation) as well; we need to fix that in release scripts, but also check anywhere else set-output might be used.

@austinvazquez
Copy link
Member

Good point brought up by @samuelkarp. While we are under the hood, let's update containerd/project-checks to v1.1.0 or add them to the CI if not currently being used.

@austinvazquez
Copy link
Member

Also see containerd/containerd#7580 (Update release action for set-output deprecation) as well; we need to fix that in release scripts, but also check anywhere else set-output might be used.

I have seen warnings for save-state usage when the action uses golangci/golangci-lint-action@v1. A upgrade to golangci/golangci-lint-action@v3 should be enough to resolve this. If doing this change it would be nice to upgrade the linter version to latest 1.50.1 at time of writing and resolve any warnings for deprecated linters. e.g. structcheck, varcheck, golint.

@estesp
Copy link
Member Author

estesp commented Oct 27, 2022

@austinvazquez Sounds like another update worth making as we're going through!

@austinvazquez
Copy link
Member

For core can be marked done,

  • cgroups
  • aufs

For non-core,

  • nerdctl (spot checked LGTM)
  • accelerated-container-image

@austinvazquez
Copy link
Member

Hey folks sorry for the delay. My update is as follows:

For core can be marked done:

  • zfs
  • nri
  • btrfs

For non-core can be marked done:

  • imgcrypt
  • rust-extensions
  • overlaybd**
  • fuse-overlayfs-snapshotter

** Still seeing some warnings; however, awaiting update on marvinpinto/action-automatic-releases upstream.

@austinvazquez
Copy link
Member

Home stretch. cc: @estesp

For core can be marked done:

  • fifo
  • protobuild
  • typeurl

For non-core can be marked done:

  • stargz-snapshotter (Has one known issue to be resolved separately; maintainers are aware)
  • nydus-snapshotter

Last four tasks require some more investigation. I am going to start with containerd releases first and then circle back around to the ttrpc packages.

@austinvazquez
Copy link
Member

@estesp long overdue update here.

For core:

  • I had a good set of changes for containerd v1.5 CI updates; however, I ran into some challenges with updating the release workflow to use a container based approach similar to how mainline does today. After a small chat with @dmcgowan thought it better to leave release/1.5 as is since it is EOL this month.
  • release/1.6 can be marked done
  • ttrpc updates are pending resolution of some issues found during testing. I do believe these issues are unrelated to the CI changes but it would be nice to resolve. I opened TestServerShutdown is flaky on Windows ttrpc#129 with some details and a potential resolution.

For non-core:

  • ttrpc-rust can be marked done.

@estesp
Copy link
Member Author

estesp commented Mar 1, 2023

@austinvazquez thanks! So we just have ttrpc and then this can be closed; thanks for all the work on this!

@estesp
Copy link
Member Author

estesp commented Mar 9, 2023

This work is now complete; closing!

@estesp estesp closed this as completed Mar 9, 2023
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

No branches or pull requests

2 participants