-
Notifications
You must be signed in to change notification settings - Fork 19
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
Switch self-hosted runners to ubicloud github runners #1877
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1877 +/- ##
=======================================
Coverage 83.13% 83.13%
=======================================
Files 56 56
Lines 4530 4530
=======================================
Hits 3766 3766
Misses 764 764 ☔ View full report in Codecov by Sentry. |
⏳ Running benchmarks and calculating weights. DO NOT MERGE! A new commit will be added upon completion... |
✅ Finished running benchmarks. Updated weights have been committed to this PR branch in commit bab3a68. |
This reverts commit bab3a68.
.cargo/config.toml
Outdated
@@ -41,3 +41,6 @@ rustflags = [ | |||
"-Dclippy::unwrap_used", | |||
"-Dclippy::expect_used", | |||
] | |||
|
|||
[net] | |||
git-fetch-with-cli = true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the random network issues on ubicloud warrants this check
https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli
@@ -371,7 +371,8 @@ jobs: | |||
RUST_LOG=debug SRTOOL_TAG="1.70.0" srtool build \ | |||
--build-opts="'--features on-chain-release-build,no-metadata-docs,${{matrix.features}}'" \ | |||
--profile=${{matrix.build-profile}} \ | |||
--package=${{matrix.package}} | |||
--package=${{matrix.package}} \ | |||
--root |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needed for permissions
Hey @saraswatpuneet , I can see that you had a memory issue with our standard-8 runners. I would like to inform you that we found a misalignment in between our runners and github's in terms of swap space configurations. We have updated our runners to be in line with Github's as you can see here ubicloud/ubicloud#1244. I can also see that you had a networking related issue. We found out that the memory related issues can manifest themselves as network drop as well. You may want to give a try to our latest runners and see if the issues persist :) Is there any other specific problem I can help you and we can fix in ubicloud? Please just let me know if we can help anyway. |
@furkansahin we still get some intermittent issues (seems to be network but not sure), please check this job https://github.com/LibertyDSNP/frequency/actions/runs/8051209010/job/21988632422 |
Hey @saraswatpuneet ,
Best |
hey @furkansahin , thank you for taking a look, we havent faced this issue before, either on self hosted or github provider runner. this is new to us too. Following a re-run it passed, so its not reproducible everytime. Regarding where we are hosting our runner, @wilwade can add details to it below. |
It currently uses US based AWS runners. They are |
Hey @saraswatpuneet , |
Hey @saraswatpuneet , @wilwade Solution proposal: Unfortunately, this is a band aid proposal. I realised [net]
retry = 5 This way, cargo will retry if the fetch fails up to 5 times. In fact, in my last 27 I understand the inconvenience this issue may cause and would completely understand any decisions you make regarding this PR. However, I really hope you will consider giving us the opportunity to demonstrate our commitment to the overall customer experience. Best, |
This reverts commit 0b3ce58.
@@ -41,3 +41,6 @@ rustflags = [ | |||
"-Dclippy::unwrap_used", | |||
"-Dclippy::expect_used", | |||
] | |||
|
|||
[net] | |||
retry = 5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needed due to the location of the ubicloud runners
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Unused
permissions: | ||
contents: write |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This allows us to get rid of the special GHA_GIT_COMMIT
token
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: I think behind the scenes it generates a token with those permissions, unless we want to control the lifetime of a token
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is correct. There is an option to control it such that the permission is only on specific steps instead the entire workflow, but I figured this is the best 1:1 swap for now.
@@ -12,7 +12,6 @@ jobs: | |||
changes: | |||
name: Determine Changed Files | |||
runs-on: ubuntu-22.04 | |||
container: ghcr.io/libertydsnp/frequency/ci-base-image:latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You'll see a lot of places where I removed the use of the ci-base-image. It really is only needed for things that use rust.
@@ -17,7 +17,7 @@ env: | |||
jobs: | |||
run-e2e: | |||
name: Run E2E Tests | |||
runs-on: [self-hosted, Linux, X64, build, v2] | |||
runs-on: ubuntu-22.04 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some things didn't need to be on ubicloud as they don't need the speed.
@@ -490,7 +490,7 @@ fn create_schema_v3_requires_valid_schema_size() { | |||
expected: (Error::<Test>::LessThanMinSchemaModelBytes, 3), | |||
}, | |||
TestCase { | |||
input: r#"{"id": "long", "title": "I am a very very very long schema", "properties": "just way too long to live a long life", "description": "Just a never ending stream of bytes that goes on for a minute too long"}"#, | |||
input: r#"{"id": "long", "title": "I am a very very very very long schema", "properties": "just way too long to live a long life", "description": "Just a never ending stream of bytes that goes on for a minute too long"}"#, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Triggering rust code changes
- name: Install Subwasm | ||
run: | | ||
cargo install --locked --git https://github.com/chevdor/subwasm --tag v0.19.1 --force | ||
cargo install --locked --git https://github.com/chevdor/subwasm --tag v0.20.0 --force |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Highlighting version bump in subwasm
package: ${{matrix.package}} | ||
chain: ${{matrix.chain}} | ||
runtime_dir: ${{ matrix.runtime-dir }} | ||
tag: "1.77.0" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Highlighting version bump in srtool
This reverts commit 1c5a338.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Read through code changes
- Read through comment thread
🚢 it!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Read through changes and comments... if we're satisfied with the solutions from ubicloud for the network drops and memory issues,
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wilwade thank you for taking this ahead, great work and looks good to go
🚢
Goal
The goal of this PR is to switch the self hosted runners in github actions (except for benchmarks as they would run on self-hosted) to
ubicloud-standard-4
, code coverage is an exception as it requires higher verticals hence usingubicloud-standard-8
only for code coverage jobsTests
Checklist