Conversation
There was a problem hiding this comment.
Pull request overview
This PR consolidates the separate Ubuntu 22.04 and 24.04 GitHub Actions workflows into a single matrix-based Ubuntu workflow and updates the NuGet publishing workflow to pull artifacts from the unified workflow.
Changes:
- Merge Ubuntu 22.04 and 24.04 CI into one matrix job in
ubuntu.ymland remove the dedicatedubuntu24.yml. - Update
publish_nuget.ymlto download Ubuntu artifacts fromubuntu.yml(and add a linux-x64 artifact download step). - Switch several packaging workflows (Ubuntu/Wasm/Linux ARM) to use a
-betaversion suffix during packing.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/wasm.yml | Changes NuGet packing to use a -beta suffix. |
| .github/workflows/ubuntu24.yml | Removes the standalone Ubuntu 24.04 workflow (replaced by matrix). |
| .github/workflows/ubuntu.yml | Introduces a 22.04/24.04 matrix build and updates build/pack steps and artifact upload naming. |
| .github/workflows/publish_nuget.yml | Updates artifact downloads to point at ubuntu.yml and adds a linux-x64 artifact download step. |
| .github/workflows/linux-arm.yml | Changes NuGet packing to use a -beta suffix. |
Comments suppressed due to low confidence (3)
.github/workflows/ubuntu.yml:26
- The matrix value
ubuntu: "22.04"/"24.04"is later interpolated into the uploaded artifact name (artifacts_ubuntu_${{ matrix.ubuntu }}), which will produce names likeartifacts_ubuntu_22.04. The publish workflow currently downloadsartifacts_ubuntu_22andartifacts_ubuntu_24, so either changematrix.ubuntuto match those names (e.g.,22/24) or update the publish workflow download names to include the full version string.
.github/workflows/ubuntu.yml:173 - Setting
BETAto-betafor the Ubuntu packages will cause the publish job’sOpenCvSharp.NupkgBetaRemoverto take itsif (nupkgFile.Contains("ubuntu"))branch, which does not remove the-betaprerelease suffix from the<version>in the nuspec. That means the pushed Ubuntu packages are likely to remain prerelease even after the rename step. Either keepBETAempty for the Ubuntu packages or update the beta-removal logic to strip-betafor Ubuntu packages too.
.github/workflows/ubuntu.yml:190 actions/upload-artifactis uploadingartifacts_ubuntu_${{ matrix.ubuntu }}, butpublish_nuget.ymldownloadsartifacts_ubuntu_22andartifacts_ubuntu_24. Update this artifact name (or the publish downloads) so the publish workflow can reliably find both Ubuntu artifacts after merging the workflows.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - name: Download linux x64 artifact | ||
| uses: dawidd6/action-download-artifact@v14 | ||
| with: | ||
| github_token: ${{secrets.GITHUB_TOKEN}} | ||
| workflow: ubuntu.yml | ||
| name: artifacts_linux_x64 | ||
| branch: ${{ github.ref_name }} | ||
|
|
There was a problem hiding this comment.
The publish workflow downloads an artifacts_linux_x64 artifact from ubuntu.yml, but ubuntu.yml never uploads an artifact with that name (it currently uploads only artifacts_ubuntu_*). Either upload a distinct linux-x64 artifact from the Ubuntu matrix job, or remove/adjust this download step to match what the build workflow actually produces.
| - name: Download linux x64 artifact | |
| uses: dawidd6/action-download-artifact@v14 | |
| with: | |
| github_token: ${{secrets.GITHUB_TOKEN}} | |
| workflow: ubuntu.yml | |
| name: artifacts_linux_x64 | |
| branch: ${{ github.ref_name }} |
| - name: Download ubuntu 22 artifact | ||
| uses: dawidd6/action-download-artifact@v14 | ||
| with: | ||
| github_token: ${{secrets.GITHUB_TOKEN}} | ||
| workflow: ubuntu22.yml | ||
| workflow: ubuntu.yml | ||
| name: artifacts_ubuntu_22 | ||
| branch: ${{ github.ref_name }} | ||
|
|
||
| - name: Download ubuntu 24 artifact | ||
| uses: dawidd6/action-download-artifact@v14 | ||
| with: | ||
| github_token: ${{secrets.GITHUB_TOKEN}} | ||
| workflow: ubuntu24.yml | ||
| workflow: ubuntu.yml | ||
| name: artifacts_ubuntu_24 | ||
| branch: ${{ github.ref_name }} |
There was a problem hiding this comment.
These download steps reference artifact names artifacts_ubuntu_22 / artifacts_ubuntu_24, but the merged ubuntu.yml workflow uploads artifacts_ubuntu_${{ matrix.ubuntu }} (currently 22.04 / 24.04). Align the downloaded artifact names with the ones being uploaded, otherwise the publish job will fail to download Ubuntu artifacts.
No description provided.