-
Notifications
You must be signed in to change notification settings - Fork 0
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:ci ubuntu cache miss #175
Conversation
WalkthroughThe pull request modifies the GitHub Actions workflow configuration in Changes
Possibly related PRs
Suggested labels
Suggested reviewers
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
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.
Actionable comments posted: 1
🔭 Outside diff range comments (1)
.github/workflows/kiwidb.yml (1)
Line range hint
144-150
: Inconsistent error handling between Ubuntu and macOS E2E tests.The Ubuntu job correctly propagates test failures with
|| exit 1
, while the macOS job might mask failures. Consider standardizing the error handling across both jobs.Apply this pattern to the macOS job's Go E2E test section:
run: | set +e cd ../tests go mod tidy - go test -timeout 15m --ginkgo.v + go test -timeout 15m --ginkgo.v || exit 1 sh print_log.sh🧰 Tools
🪛 actionlint (1.7.4)
119-119: the runner of "actions/cache@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/kiwidb.yml
(1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms (2)
- GitHub Check: build_on_macos
- GitHub Check: build_on_ubuntu
@@ -119,7 +119,7 @@ jobs: | |||
uses: actions/cache@v3 | |||
with: | |||
path: ~/.ccache | |||
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.cpp','**/*.cc','**/*.c', '**/*.h') }}-${{ matrix.compiler || 'gcc' }} | |||
key: ${{ runner.os }}-ccache-${{ hashFiles('**/*.cpp','**/*.cc','**/*.c', '**/*.h') }} |
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.
💡 Codebase verification
Cache key strategies should be consistent across jobs
The different cache key strategies between Ubuntu and macOS jobs appear unnecessary as both:
- Use identical build configurations and ccache settings
- Don't specify custom compiler settings
- Run the same build script with identical flags
Consider updating the macOS job to use the same simplified cache key strategy for consistency.
🔗 Analysis chain
LGTM! Simplified cache key configuration.
The removal of compiler-specific cache key should help resolve the cache miss issues. The change looks reasonable as Ubuntu typically uses gcc by default.
However, let's verify if the different cache key strategy between Ubuntu (generic) and macOS (compiler-specific) jobs is intentional:
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check if different compilers are used in the build process
# Look for compiler configuration in build scripts
echo "Checking build script for compiler settings:"
cat ./etc/script/build.sh
echo -e "\nChecking for compiler-related environment variables in workflow:"
rg "CC=|CXX=" .github/workflows/kiwidb.yml
Length of output: 3122
Script:
#!/bin/bash
# Check matrix configuration and build command usage
echo "Checking matrix and build configurations:"
rg "matrix:" -A 5 .github/workflows/kiwidb.yml
echo -e "\nChecking build command invocations:"
rg "build.sh" -A 2 .github/workflows/kiwidb.yml
echo -e "\nChecking job configurations for compiler settings:"
rg "build_on_(ubuntu|macos):" -A 20 .github/workflows/kiwidb.yml
Length of output: 1703
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.
LGTM
修复 CI中 Ubuntu ccache key 找不到的错误
Summary by CodeRabbit