Conversation
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull Request Overview
This PR adds nightly testing infrastructure for running comprehensive GPU tests with ROCm support. The implementation creates two GitHub Actions workflows that coordinate to run tests in parallel using multiple shards while avoiding redundant executions.
- Creates a scheduled workflow that triggers nightly tests at 8 AM UTC
- Implements parallel test execution with configurable thread count (24 threads)
- Adds deduplication logic to prevent running tests on the same SHA twice
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.github/workflows/trigger_nightly_tests.yml |
Scheduler workflow that checks for duplicate runs and triggers the actual test workflow |
.github/workflows/nightly_tests.yml |
Main test workflow that sets up ROCm, downloads ZLUDA binaries, and runs parallel tests |
Comments suppressed due to low confidence (1)
.github/workflows/trigger_nightly_tests.yml:12
- The version v2.4 does not exist for octokit/request-action. The latest available version is v2.3.1. Consider using v2.3.1 or @v2 for the latest v2.x version.
- uses: octokit/request-action@v2.4
| uses: ./.github/workflows/nightly_tests.yml | ||
| secrets: inherit No newline at end of file |
There was a problem hiding this comment.
The workflow call syntax is incorrect. When calling a reusable workflow, it should be used within a job step, not as the entire job definition. Consider restructuring this as a step within the build job or using a different approach to trigger the workflow.
| uses: ./.github/workflows/nightly_tests.yml | |
| secrets: inherit | |
| steps: | |
| - name: Run nightly tests | |
| uses: ./.github/workflows/nightly_tests.yml | |
| secrets: inherit |
| run: | | ||
| pids=() | ||
| exit_codes=() | ||
| for i in $(seq 0 $((${{ env.TEST_THREADS }} - 1))); do |
There was a problem hiding this comment.
The arithmetic expression $((${{ env.TEST_THREADS }} - 1)) mixes GitHub Actions syntax with shell arithmetic. This should be $((TEST_THREADS - 1)) since the environment variable is already expanded in the shell context.
| for i in $(seq 0 $((${{ env.TEST_THREADS }} - 1))); do | |
| for i in $(seq 0 $((TEST_THREADS - 1))); do |
| for i in $(seq 0 $((${{ env.TEST_THREADS }} - 1))); do | ||
| cargo run -r -- zluda/libcuda.so.1 --shard-index $i --shard-count ${{ env.TEST_THREADS }} > output_$i.log 2>&1 & |
There was a problem hiding this comment.
Similar to the previous issue, ${{ env.TEST_THREADS }} should be $TEST_THREADS since the environment variable is already available in the shell context.
| for i in $(seq 0 $((${{ env.TEST_THREADS }} - 1))); do | |
| cargo run -r -- zluda/libcuda.so.1 --shard-index $i --shard-count ${{ env.TEST_THREADS }} > output_$i.log 2>&1 & | |
| for i in $(seq 0 $(($TEST_THREADS - 1))); do | |
| cargo run -r -- zluda/libcuda.so.1 --shard-index $i --shard-count $TEST_THREADS > output_$i.log 2>&1 & |
No description provided.