Skip to content

Run CI workflows for testing and publishing after merge - #798

Merged
YukiMatsuzawa merged 9 commits into
masterfrom
copilot/yukimatsuzawa-ci-publish-after-merge
Sep 8, 2026
Merged

Run CI workflows for testing and publishing after merge#798
YukiMatsuzawa merged 9 commits into
masterfrom
copilot/yukimatsuzawa-ci-publish-after-merge

Conversation

@YukiMatsuzawa

Copy link
Copy Markdown
Contributor

Split the CI workflows to run tests before publishing, implement concurrency control, and ensure minimal permissions. Add NuGet lock files for better caching and refresh them with corrected sources. Rename workflows to clarify their trigger timing.

YukiMatsuzawa and others added 7 commits September 4, 2026 15:15
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
dotnet_test.yml -> dotnet_pr.yml (PR Check), dotnet_publish.yml -> dotnet_master.yml (Master Build)

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…tention

- PR workflow cancels superseded runs on new pushes to the same PR
- Both workflows set contents: read as the minimal required permission
- Publish artifacts are retained for 14 days instead of the default 90

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Generated with 'dotnet restore --use-lock-file' against MsdialWorkbench.sln so 'hashFiles(**/packages.lock.json)' in the CI workflows reflects real dependency changes instead of always hashing to an empty string.

Follow-up: add <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> to each .csproj so these lock files are kept up to date automatically on future 'dotnet restore' runs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The workflows reference several GitHub Actions major-version tags that may not resolve, which can break CI/CD execution.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Updates the GitHub Actions CI/CD setup so pull requests run a test-only workflow, while merges to master run test + publish, and adds NuGet lockfiles across projects to improve restore determinism and caching.

Changes:

  • Added a dedicated PR workflow (PR Check) that builds/tests with concurrency cancellation and minimal permissions.
  • Updated the master workflow to be push-only and refreshed its steps (restore/build/test + publish jobs).
  • Added packages.lock.json files across solution projects/tests/benchmarks to improve NuGet caching and reproducibility.
File summaries
File Description
tests/MSDIAL5/MsDialMassqlTestApp/packages.lock.json Add NuGet lock file for test app restore determinism/caching.
tests/MSDIAL4/MonaRestApiTests/packages.lock.json Add NuGet lock file for test project restore determinism/caching.
tests/Common/CommonSourceGeneratorTests/packages.lock.json Add NuGet lock file for source generator tests restore determinism/caching.
tests/Common/ChartDrawingUiTest/packages.lock.json Add NuGet lock file for UI tests restore determinism/caching.
src/RawDataApp/RawDataConverter/packages.lock.json Add NuGet lock file for RawDataConverter restore determinism/caching.
src/MSFINDER/MassSpectrogramMsfinder/packages.lock.json Add NuGet lock file for MSFINDER MassSpectrogram restore determinism/caching.
src/MSDIAL4/StructureFinderConsoleApp/packages.lock.json Add NuGet lock file for StructureFinderConsoleApp restore determinism/caching.
src/MSDIAL4/PugRestApiStandard/packages.lock.json Add NuGet lock file for PugRestApiStandard restore determinism/caching.
src/MSDIAL4/PdfExporter/packages.lock.json Add NuGet lock file for PdfExporter restore determinism/caching.
src/MSDIAL4/PathwayMapApp/packages.lock.json Add NuGet lock file for PathwayMapApp restore determinism/caching.
src/MSDIAL4/PathwayMap/packages.lock.json Add NuGet lock file for PathwayMap restore determinism/caching.
src/MSDIAL4/PairwisePlotCommon/packages.lock.json Add NuGet lock file for PairwisePlotCommon restore determinism/caching.
src/MSDIAL4/PairwisePlot/packages.lock.json Add NuGet lock file for PairwisePlot restore determinism/caching.
src/MSDIAL4/MonoisotopicIonCalculatorApp/packages.lock.json Add NuGet lock file for MonoisotopicIonCalculatorApp restore determinism/caching.
src/MSDIAL4/MonaRunner/packages.lock.json Add NuGet lock file for MonaRunner restore determinism/caching.
src/MSDIAL4/MonaRestApi/packages.lock.json Add NuGet lock file for MonaRestApi restore determinism/caching.
src/MSDIAL4/MonaExport/packages.lock.json Add NuGet lock file for MonaExport restore determinism/caching.
src/MSDIAL4/MolViewer/packages.lock.json Add NuGet lock file for MolViewer restore determinism/caching.
src/MSDIAL4/MassSpectrogram/packages.lock.json Add NuGet lock file for MassSpectrogram restore determinism/caching.
src/MSDIAL4/LipidomicsRtManageProgram/packages.lock.json Add NuGet lock file for LipidomicsRtManageProgram restore determinism/caching.
src/MSDIAL4/KeggApiStandard/packages.lock.json Add NuGet lock file for KeggApiStandard restore determinism/caching.
src/MSDIAL4/ColorPickerWpfApp/packages.lock.json Add NuGet lock file for ColorPickerWpfApp restore determinism/caching.
src/MSDIAL4/ClassyfireConsoleApp/packages.lock.json Add NuGet lock file for ClassyfireConsoleApp restore determinism/caching.
src/MSDIAL4/ClassyfireApiStandard/packages.lock.json Add NuGet lock file for ClassyfireApiStandard restore determinism/caching.
src/MSDIAL4/BarChart/packages.lock.json Add NuGet lock file for BarChart restore determinism/caching.
src/Common/spectra-hash/splash/packages.lock.json Add NuGet lock file for splash library restore determinism/caching.
src/Common/NCDK/packages.lock.json Add NuGet lock file for NCDK restore determinism/caching.
src/Common/NCDK.Display/packages.lock.json Add NuGet lock file for NCDK.Display restore determinism/caching.
src/Common/CommonSourceGenerator/packages.lock.json Add NuGet lock file for CommonSourceGenerator restore determinism/caching.
src/Common/CommonMVVM/packages.lock.json Add NuGet lock file for CommonMVVM restore determinism/caching.
src/Common/ChartDrawing/packages.lock.json Add NuGet lock file for ChartDrawing restore determinism/caching.
benchmark/CompMs/CommonStandardBenchmark/packages.lock.json Add NuGet lock file for benchmark project restore determinism/caching.
.github/workflows/dotnet_pr.yml New PR-only CI workflow with concurrency cancellation and minimal permissions.
.github/workflows/dotnet_master.yml Master-only workflow adjusted for post-merge testing and publishing.
Review details
  • Files reviewed: 43/80 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

YukiMatsuzawa and others added 2 commits September 8, 2026 12:15
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Use a configuration-specific NuGet lock file and locked restore for CI, while leaving developer Debug and other configurations unchanged. Replace generic lock files and update cache keys accordingly.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@YukiMatsuzawa
YukiMatsuzawa merged commit fe69667 into master Sep 8, 2026
1 check passed
@YukiMatsuzawa
YukiMatsuzawa deleted the copilot/yukimatsuzawa-ci-publish-after-merge branch September 8, 2026 04:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants