Repository navigation
Run scheduled Git live-update integration test on PRs - #414
Merged
Merged
Conversation
Signed-off-by: Ryan Cook <rcook@redhat.com>
Signed-off-by: Ryan Cook <rcook@redhat.com>
|
Sorry @cooktheryan, you've used your own review budget of 250,000 diff characters for the last 7 days. You can request another review in 6 days and 17 hours by commenting |
Reviewer's GuideThe PR enables the scheduled Git live-update integration test for PRs without modifying shared GitHub branches by using a job-local bare repository over read-only smart HTTP, revision-local container artifacts, restricted permissions, bounded cleanup-aware execution, and stronger reconciliation assertions; documentation covers the isolated test and local reproduction. Sequence diagram for the isolated scheduled Git update testsequenceDiagram
participant Workflow as GitHub Actions
participant Test as test-live-update.sh
participant Git as git-server.py
participant FetchIt
participant Workloads
Workflow->>Test: run test-live-update.sh
Test->>Git: start isolated bare repository over smart HTTP
Test->>FetchIt: start FetchIt with revision-local artifacts
Test->>Workloads: deploy two raw workloads
FetchIt->>Git: poll repository for scheduled updates
Test->>Git: commit and push one workload update
Git-->>FetchIt: serve updated Git revision
FetchIt->>Workloads: reconcile changed workload
Test->>Workloads: verify new container ID and environment value
Test->>Workloads: verify unchanged workload ID
Test->>FetchIt: verify no restart
Test->>Git: clean up job-local resources
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The live-update test was skipped on pull requests because it committed and force-pushed to the shared
cibranch. Replace that global mutation with a job-local bare Git repository served over read-only smart HTTP, and runmake-change-to-repoon PRs and main pushes with read-only GitHub permissions and checkout credential persistence disabled.Use the engine and sample image artifacts built from the tested revision. Start FetchIt normally, deploy two raw workloads, commit and push one workload update into the temporary repository, and wait for the scheduler to reconcile it. Require a new container ID and environment value for the changed workload, an unchanged ID for the other workload, and no FetchIt restart. Bound waits and preserve logs before cleaning up job-specific resources.
Keep the existing job name and downstream build dependencies. Add README and Read the Docs instructions for the isolated test and local reproduction.
Validation: native Git smart-HTTP clone/pull and FetchIt's actual go-git HTTP authentication transport passed against the fixture locally; shell syntax, shellcheck, actionlint, and strict Sphinx checks passed. The full container/scheduler test passed on this PR as
make-change-to-repo(54 seconds). The unit-test and Sphinx jobs also passed.