Repository navigation
Make Merge-Upstreams -DryRun exact and skip every workflow job in private repositories - #109
Merged
Merged
Conversation
…vate repositories
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.
Description
WinuX 2.0.1, two fixes that showed up on the first real merge of WinuX 2.0.0 into a fork of WinuX and Foundation.
Merge-Upstreams -DryRunlists exactly what the merge would do. It listed everything the upstream changed since the last merge. A fork that already had the change was shown 622 paths "taken" and 560 "declined" that the real run never touched, and the dry run could not say which conflicts the real run would stop on. It now hasgit merge-tree(git 2.38 or newer) compute the same merge, with the same attributes and merge drivers, into a tree of its own, touching neither the index nor the working tree:The real run is unchanged.
No workflow job runs in a private repository. A private fork that merges WinuX carries WinuX's workflows. Every push to it ran the Pester suite on a Windows runner (6.5 minutes, plus a failure the public run does not have), the lint, and the release checks. Every job of
winux.yml,lint.yml,release.ymlandwinux-release.ymlnow carriesif: ${{ !github.event.repository.private }}, the guard Foundation's macOS job already had. WinuX is public, so nothing changes here.Type of change
### Deprecatedchangelog entry with the migration, and a record in theDeprecatedmap ofModules/Tests/ContractBaseline.jsonwith the version it ships in, see VERSIONING.md)Quality bar
Configuration.psd1using placeholder paths ({Dev},{User},{MachineType},{RepoRoot},{AppData}).Tests
All pass.
Windows/PowerShell/Modules/Tests/Modules/<Module>/.Run-Tests) and thePester Testscheck is green.The dry-run cases now check the prediction against the real run on the same repository:
Documentation & manifests
docs/winux/modules/<Module>.mdfor any added/renamed/removed/changed function..psd1FunctionsToExport.docs/winux/configuration/guides/<module>/for every added/renamed/removed function or changedConfiguration.psd1key (stub upgraded to full if the function now reads configuration), and its moduleREADME.mdindex.docs/winux/docs_overview.md(anddocs/winux/_sidebar.mdif a page was added/removed).List-Functions -ListDiscrepanciesreports no discrepancies and manifest completeness holds.No function, parameter or configuration key was added, renamed or removed. The Fork Model describes the exact dry run and says a private fork runs no workflow.
Tested on
Windows version: Windows 11 Pro 26H2 (Version 10.0.26300 Build 26300)
PowerShell version: 7.6.9
Machine type(s): PC via a private fork
Checklist
master.Additional notes / screenshots
The Foundation side (0.2.1) lands in IvanPavlak/Foundation under the same branch name. On the same throwaway repository, both implementations predict and then stage the identical result: