-
Notifications
You must be signed in to change notification settings - Fork 100
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
Fix failing non-cloud functional tests by using built-in caching on the setup-go action #8276
Fix failing non-cloud functional tests by using built-in caching on the setup-go action #8276
Conversation
Change to ubuntu-latest Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Radius functional test overview
Click here to see the list of tools in the current test run
Test Status⌛ Building Radius and pushing container images for functional tests... |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #8276 +/- ##
=======================================
Coverage 59.82% 59.82%
=======================================
Files 590 590
Lines 39520 39520
=======================================
Hits 23643 23643
Misses 14121 14121
Partials 1756 1756 ☔ View full report in Codecov by Sentry. |
there was a recent PR to remediate the cache log issues which updated multiple files and set cache=false. /~https://github.com/radius-project/radius/pull/8147/files. |
@lakshmimsft Yes I agree: let's test a change on this workflow and then apply it to others if successful. We had five failures of this workflow since yesterday, related to part of the logic that does caching. The new caching logic that is now built into the |
checked logs and reran tests once. we're not seeing the "..Cannot open: File exists" logs. 👍 |
# Description This PR sets the `cache: true` option on the `setup-go` actions in the workflows. Previously we used a common caching technique to cache the go install and modules folders, but this feature is now built into the [`setup-go` action](/~https://github.com/actions/setup-go/blob/main/docs/adrs/0000-caching-dependencies.md). This change was tested with PR #8276. Following that, this PR updates the remaining workflows to use the new caching feature. The default value for the `cache` option is `true` on the `setup-go@v5` action. This PR explicitly sets the value to `true` on the action where it is not specified so that the option will be obvious, even though it will not change the behavior of the action for cases when the option was not set. - `build.yaml`: Explicitly set cache option to true, which is the same as the default value. - `functional-test-cloud.yaml`: Changed the cache option from false to true and removed the original caching actions. - `lint.yaml`: Explicitly set cache option to true, which is the same as the default value. - `long-running-azure.yaml`: Explicitly set cache option to true, which is the same as the default value. - `publish-docs.yaml`: Explicitly set cache option to true, which is the same as the default value. > NOTE: This PR is created from a branch in this repo instead of a fork from an external repo to allow us to run the cloud test workflows. ## Type of change - This pull request adds or changes features of Radius and has an approved issue (issue link required). Related to issue: #8274 Related to PR #8276 ## Contributor checklist Please verify that the PR meets the following requirements, where applicable: - [ ] An overview of proposed schema changes is included in a linked GitHub issue. - [ ] A design document PR is created in the [design-notes repository](/~https://github.com/radius-project/design-notes/), if new APIs are being introduced. - [ ] If applicable, design document has been reviewed and approved by Radius maintainers/approvers. - [ ] A PR for the [samples repository](/~https://github.com/radius-project/samples) is created, if existing samples are affected by the changes in this PR. - [ ] A PR for the [documentation repository](/~https://github.com/radius-project/docs) is created, if the changes in this PR affect the documentation or any user facing updates are made. - [ ] A PR for the [recipes repository](/~https://github.com/radius-project/recipes) is created, if existing recipes are affected by the changes in this PR. --------- Signed-off-by: Brooke Hamilton <45323234+brooke-hamilton@users.noreply.github.com>
Description
This PR is to remediate frequent failures of the scheduled functional test (noncloud) workflow. We are having issues with the caching logic. A test failure example is here.
This PR updates the workflow to remove the caching steps from the workflow and replace it with a new feature of the
actions/setup-go@v5
action, in which caching of Go dependencies is enabled by setting thecache
parameter totrue
. See the docs for details.I also tested using the
ubuntu-latest
test runner, under the assumption that the non-cloud tests will have fewer artifact outputs and not need the larger disk onubuntu-latest-m
.Changes:
.github/workflows/functional-test-noncloud.yaml
: Enabled caching for Go dependencies by setting thecache
parameter totrue
in thesetup-go
action, and removed the manual cache path setup and cleanup steps to streamline the workflow..github/workflows/functional-test-noncloud.yaml
: Updated the operating system fromubuntu-latest-m
toubuntu-latest
. Testing for this workflow in a fork did not encounter disk space limits we have seen on other workflows where we testedubuntu-latest
.Type of change
Fixes: #8274
Contributor checklist
Please verify that the PR meets the following requirements, where applicable: