Feature/release ci#123
Conversation
|
Warning Rate limit exceeded@jowr has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 8 minutes and 20 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughBumps release to 4.1.1 and refactors CI: adds get-coolprop and get-msys-openmodelica jobs, per-ref/per-platform artifact packaging and naming, cache-driven source preparation, conditional tag-based releases with obsolete-artifact deletion, and documentation/changelog/version updates. Changes
Sequence Diagram(s)sequenceDiagram
actor CI as GitHub Actions
participant Cache as Cache Store
participant Prep as get-coolprop / get-msys-openmodelica
participant Build as build-* jobs
participant Artifact as Artifact Storage
participant Proc as Per-Ref Processor
participant Release as GitHub Release
CI->>Cache: Restore caches (CoolProp / OMDev)
Cache-->>Prep: Cache restored
Prep-->>CI: outputs (coolprop-hash, coolprop-check, omdev-hash)
CI->>Build: Run platform builds (needs outputs)
Build-->>Artifact: Upload `binaries-*` per-platform artifacts
rect rgba(130,180,220,0.08)
note over CI,Proc: Per-ref packaging & conditional publish
CI->>Proc: Derive ref_name (tag vs branch)
Proc->>Proc: Create ExternalMedia-{ref_name}.pdf/.zip
end
alt ref is tag
Proc->>Release: Create GitHub release with ExternalMedia-{ref_name} artifacts
Release-->>CI: Release created
CI->>Artifact: Delete obsolete `binaries-*` artifacts
else branch build
Proc->>Artifact: Upload ExternalMedia-{ref_name} artifacts
end
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (1 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.github/workflows/ci.yml(6 hunks)Projects/CMakeLists.txt(1 hunks)README_changelog.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
📚 Learning: 2025-10-21T07:36:38.359Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
Applied to files:
README_changelog.mdProjects/CMakeLists.txt.github/workflows/ci.yml
📚 Learning: 2025-10-21T08:01:59.111Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Applied to files:
.github/workflows/ci.yml
🪛 actionlint (1.7.8)
.github/workflows/ci.yml
44-44: the runner of "softprops/action-gh-release@v1" action is too old to run on GitHub Actions. update the action's version to fix this issue
(action)
🪛 LanguageTool
README_changelog.md
[uncategorized] ~6-~6: The operating system from Apple is written “macOS”.
Context: ...updated to v7.1.0 - Added binaries for MacOS ARM (M1/M2) ## v4.1.0 - 2025/08/01 - ...
(MAC_OS)
🪛 markdownlint-cli2 (0.18.1)
README_changelog.md
4-4: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
5-5: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
6-6: Unordered list indentation
Expected: 0; Actual: 1
(MD007, ul-indent)
🔇 Additional comments (6)
Projects/CMakeLists.txt (1)
20-22: Version bump to 4.1.1 looks good.Changes align with the release version and are propagated correctly through APP_VERSION and library version properties.
README_changelog.md (1)
3-3: Placeholder release date should be finalized.Line 3 has placeholder date
2025/11/XX. Ensure this is set to the actual release date before merging..github/workflows/ci.yml (4)
10-49: Conditional release and artifact handling is well structured.The workflow correctly implements:
- Non-tag builds: Upload merged binaries as
ExternalMedia-binariesartifact with-latestsuffix- Tag builds: Create GitHub release with tag-specific PDF/ZIP files
- Dynamic naming based on Git reference (tag name vs "latest" branch placeholder)
- Proper artifact merge pattern (
binaries-*) that includes platform binaries and documentation PDF while keeping HTML docs separate for GitHub Pages deployment
51-92: Platform-specific artifact naming is consistent and descriptive.All platform builds now use clear naming convention:
binaries-macos-{arch}(arm64, x86_64)binaries-linux-x86_64binaries-windows-{toolset}-{arch}(e.g., v143-Win32, v143-x64)binaries-windows-msys-openmodelicaThis improves clarity during the merge and release stages.
Also applies to: 132-132, 179-179, 234-234
195-206: Windows MSYS OpenModelica caching improvement is sound.The hash-based caching strategy (using git ls-remote to detect upstream changes) reduces build time by avoiding unnecessary OMDev clones while ensuring freshness when the remote changes.
264-268: MSYS build artifact upload remains commented out—verify this is intentional.The
build-msysjob downloads and builds successfully but does not upload artifacts (lines 264–268 are commented out). Confirm this is expected (i.e., MSYS build is for testing/compatibility only and does not contribute to releases).
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)
195-206: Consider more descriptive cache key naming.The OMDev cache key uses
pre-commit-prefix, which is unconventional for this context. Consider renaming to something more descriptive likewindows-omdev-to clarify the cache's purpose:id: cache-omdev with: path: C:/OMDev - key: pre-commit-${{ hashFiles('omdev_hash.txt') }} + key: windows-omdev-${{ hashFiles('omdev_hash.txt') }}The hash-based invalidation pattern is solid and will automatically refresh the cache when upstream OMDev changes.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (2)
.github/workflows/ci.yml(6 hunks)README_changelog.md(1 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
📚 Learning: 2025-10-21T08:01:59.111Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Applied to files:
.github/workflows/ci.yml
📚 Learning: 2025-10-21T07:36:38.359Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
Applied to files:
.github/workflows/ci.ymlREADME_changelog.md
🔇 Additional comments (3)
README_changelog.md (1)
3-6: Clarify the release date placeholder.Line 3 contains a placeholder date
2025/11/XX. Please confirm whether this should be filled with the intended release date (e.g.,2025/11/20for a specific date, or replaced with today's actual date at release time)..github/workflows/ci.yml (2)
87-91: LGTM: Artifact naming is now consistent and descriptive.The platform-specific artifact naming scheme (e.g.,
binaries-macos-arm64,binaries-linux-x86_64,binaries-windows-v143-x64,binaries-windows-msys-openmodelica) is clear and makes platform/compiler distinctions explicit. The pattern filter at line 13 correctly targets onlybinaries-*artifacts, respecting the docs artifact separation per the prior learning.Also applies to: 129-133, 176-180, 234-234
35-49: LGTM: Release flow separation is clean and well-structured.The separation of release vs non-release artifact handling is clear: branches upload to artifacts, tags trigger GitHub releases. The update from
softprops/action-gh-release@v1tov2addresses the previous review concern about the outdated action. The dynamic ref naming (lines 15-24) ensures correct file naming across both flows.Please verify that
softprops/action-gh-release@v2configuration (withfiles:input) is compatible with your intended release behavior, as v2 may have subtle differences from v1 in how it handles file patterns and metadata.
| - name: Copy the PDF manual | ||
| run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf | ||
| - name: Zip binaries | ||
| uses: papeloto/action-zip@v1 | ||
| with: | ||
| files: ExternalMedia/ | ||
| recursive: true | ||
| dest: ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.zip |
There was a problem hiding this comment.
Fix artifact path structure in PDF copy and ZIP creation.
The artifact uploads (lines 91, 133, 180, 235, 304) all use path: Modelica, which means downloaded artifacts extract to ./Modelica/ExternalMedia/.... However, lines 26 and 30 reference ExternalMedia/ directly at the root level, which won't exist.
Apply this diff to fix the paths:
- name: Copy the PDF manual
- run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf
+ run: cp Modelica/ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf
- name: Zip binaries
uses: papeloto/action-zip@v1
with:
- files: ExternalMedia/
+ files: Modelica/
recursive: true
dest: ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.zip🤖 Prompt for AI Agents
In .github/workflows/ci.yml around lines 25 to 32, the copy and zip steps
reference ExternalMedia/ at repo root but artifacts extract under Modelica/, so
update the paths to include Modelica: change the cp source to
Modelica/ExternalMedia/Resources/manual.pdf and its destination to
Modelica/ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf; change the
zip action to package files: Modelica/ExternalMedia/ (set recursive: true) and
set dest to Modelica/ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.zip so
both the copied PDF and ZIP live under Modelica/ExternalMedia as expected.
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)
206-206: Consider clarifying the cache key naming convention.The cache key prefix
pre-commitappears inconsistent with the purpose of this cache, which stores the OMDev toolchain. Consider renaming to something likeomdev-cacheoromdev-toolsfor clarity and maintainability.- key: pre-commit-${{ hashFiles('omdev_hash.txt') }} + key: omdev-cache-${{ hashFiles('omdev_hash.txt') }}
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ci.yml(6 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
📚 Learning: 2025-10-21T08:01:59.111Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Applied to files:
.github/workflows/ci.yml
📚 Learning: 2025-10-21T07:36:38.359Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
Applied to files:
.github/workflows/ci.yml
🔇 Additional comments (2)
.github/workflows/ci.yml (2)
93-93: Platform artifact naming is clear and appropriately structured.The refactored artifact names (
binaries-macos-*,binaries-linux-x86_64,binaries-windows-*,binaries-windows-msys-openmodelica,binaries-docs) properly follow a consistent naming scheme and align with thebinaries-*download pattern infinish-ci. The separation of thebinaries-docsartifact (containing the Modelica tree with PDF manual) from the standalonedocsartifact (HTML documentation) is correct per the documentation deployment logic.Also applies to: 135-135, 182-182, 237-237, 306-306
15-24: Release workflow logic is well-structured.The conditional flows properly separate tag-based releases (GitHub release creation at lines 43–49) from non-tag builds (artifact upload at lines 35–42), with clear mutually exclusive
ifconditions. The ref naming logic (lines 15–24) correctly extracts tag names or defaults tolatestfor branches, enabling consistent naming across both release and artifact flows.Also applies to: 35-49
| echo "ref_name=latest" >> $GITHUB_OUTPUT | ||
| fi | ||
| - name: Copy the PDF manual | ||
| run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf |
There was a problem hiding this comment.
Fix artifact path structure in PDF copy and ZIP creation.
The downloaded artifacts extract to ./Modelica/ExternalMedia/... (since artifacts were uploaded with path: Modelica), but lines 26 and 30 reference paths at the root level that won't exist.
Apply this diff to fix the paths:
- name: Copy the PDF manual
- run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf
+ run: cp Modelica/ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf
- name: Zip binaries
uses: papeloto/action-zip@v1
with:
- files: ExternalMedia/
+ files: Modelica/ExternalMedia/
recursive: true
dest: ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.zipAlso applies to: 30-30
🤖 Prompt for AI Agents
In .github/workflows/ci.yml around lines 26 and 30, the steps copy and zip the
PDF using root-level paths but the artifacts extract under
Modelica/ExternalMedia; update both commands to reference the correct path
prefix (Modelica/ExternalMedia/...) so the cp uses
Modelica/ExternalMedia/Resources/manual.pdf and the zip command includes
Modelica/ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf (or otherwise
uses Modelica/ExternalMedia/*) to match the extracted artifact layout.
There was a problem hiding this comment.
Actionable comments posted: 0
♻️ Duplicate comments (1)
.github/workflows/ci.yml (1)
26-26: Fix artifact path references to match downloaded directory structure.When artifacts are downloaded with
merge-multiple: true, they extract into the same directory specified by path. Since the build jobs upload withpath: Modelica(lines 94, 136, 183, 245), the directory structure will beModelica/ExternalMedia/...at the root, notExternalMedia/at the root.Apply this diff to fix the paths:
- name: Copy the PDF manual - run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf + run: cp Modelica/ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf - name: Zip binaries uses: papeloto/action-zip@v1 with: - files: ExternalMedia/ + files: Modelica/ExternalMedia/ recursive: true dest: ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.zipThis matches the issue flagged in previous review feedback.
Also applies to: 30-30
🧹 Nitpick comments (1)
.github/workflows/ci.yml (1)
39-41: Use glob pattern for upload paths instead of hardcoding suffix.The files are created with the dynamic
${{ steps.ref_name.outputs.ref_name }}suffix (lines 26, 32), but the upload paths hardcodelatest. While the current condition on line 42 prevents tag builds from reaching this step, the paths should use a glob pattern to be resilient to future changes.Apply this diff:
with: name: ExternalMedia-binaries path: | - ./ExternalMedia-latest.pdf - ./ExternalMedia-latest.zip + ./ExternalMedia-*.pdf + ./ExternalMedia-*.zip
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ci.yml(6 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-21T08:01:59.111Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Applied to files:
.github/workflows/ci.yml
📚 Learning: 2025-10-21T07:36:38.359Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
Applied to files:
.github/workflows/ci.yml
🔇 Additional comments (2)
.github/workflows/ci.yml (2)
198-216: OMDev caching strategy is sound.The caching implementation correctly fetches the remote HEAD hash, restores from cache if available, and only clones/saves on cache miss. This is an appropriate optimization for external dependencies.
93-93: Artifact naming convention is well-structured and consistent.The per-platform naming scheme clearly identifies each build variant and aligns with the pattern-based download strategy. The separation of
docsandbinaries-docsartifacts follows the documented requirements.Also applies to: 135-135, 182-182, 244-244
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (1)
.github/workflows/ci.yml (1)
25-32: Fix artifact paths in PDF copy and ZIP creation (recurring issue).Artifacts download with
merge-multiple: truefrombinaries-*pattern, where all uploads usedpath: Modelica. The extracted structure is./Modelica/ExternalMedia/..., notExternalMedia/at the repository root. Lines 26 and 30 reference paths that don't exist.Apply this diff to fix both the copy and zip operations:
- name: Copy the PDF manual - run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf + run: cp Modelica/ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf - name: Zip binaries uses: papeloto/action-zip@v1 with: - files: ExternalMedia/ + files: Modelica/ExternalMedia/ recursive: true dest: ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.zipThis issue was flagged in prior reviews but remains unresolved. Please ensure this is addressed before merge.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ci.yml(7 hunks)
🧰 Additional context used
🧠 Learnings (2)
📚 Learning: 2025-10-21T08:01:59.111Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Applied to files:
.github/workflows/ci.yml
📚 Learning: 2025-10-21T07:36:38.359Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
Applied to files:
.github/workflows/ci.yml
🪛 actionlint (1.7.8)
.github/workflows/ci.yml
189-189: property "cache-key" is not defined in object type {cache-hit: string; cache-matched-key: string; cache-primary-key: string}
(expression)
201-201: property "cache-omdev" is not defined in object type {}
(expression)
211-211: property "cache-key" is not defined in object type {cache-hit: string; cache-matched-key: string; cache-primary-key: string}
(expression)
🔇 Additional comments (1)
.github/workflows/ci.yml (1)
50-52: Verify artifact deletion glob pattern syntax.Line 52 uses
name: binaries-*withgeekyeggo/delete-artifact@v5. Confirm this action version supports glob patterns in thenamefield; if not, the pattern will not match and cleanup will fail. Verify against the action's documentation or test in a non-critical workflow run.
8d5241e to
fb49bf8
Compare
There was a problem hiding this comment.
Actionable comments posted: 9
♻️ Duplicate comments (2)
.github/workflows/ci.yml (2)
26-26: Fix artifact path — critical blocker for tag releases.The
path:input for cache actions is a required field, but downloaded artifacts are extracted to./Modelica/ExternalMedia/...(because thepath: Modelicain the upload steps). Line 26 referencesExternalMedia/Resources/manual.pdfat the repo root, which will not exist.Apply this diff to correct the path:
- name: Copy the PDF manual - run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf + run: cp Modelica/ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf
30-30: Fix ZIP file source path — aligns with downloaded artifacts.Line 30 references
ExternalMedia/at the root, but artifacts extract toModelica/ExternalMedia/. Update to match the actual extracted location:- name: Zip binaries uses: papeloto/action-zip@v1 with: - files: ExternalMedia/ + files: Modelica/ExternalMedia/ recursive: true dest: ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.zip
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ci.yml(8 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
📚 Learning: 2025-10-21T08:01:59.111Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Applied to files:
.github/workflows/ci.yml
📚 Learning: 2025-10-21T07:36:38.359Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
Applied to files:
.github/workflows/ci.yml
🪛 actionlint (1.7.8)
.github/workflows/ci.yml
57-57: property "keycoolprop" is not defined in object type {coolprop_cache: {conclusion: string; outcome: string; outputs: {cache-hit: string; cache-matched-key: string; cache-primary-key: string}}; coolprop_hash: {conclusion: string; outcome: string; outputs: {string => string}}}
(expression)
82-82: missing input "path" which is required by action "actions/cache/save@v4". all required inputs are "key", "path"
(action)
187-187: missing input "path" which is required by action "actions/cache/restore@v4". all required inputs are "key", "path"
(action)
254-254: missing input "path" which is required by action "actions/cache/restore@v4". all required inputs are "key", "path"
(action)
257-257: object, array, and null values should not be evaluated in template with ${{ }} but evaluating the value of type array
(expression)
258-258: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
259-259: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
263-263: object, array, and null values should not be evaluated in template with ${{ }} but evaluating the value of type array
(expression)
264-264: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
265-265: object, array, and null values should not be evaluated in template with ${{ }} but evaluating the value of type array
(expression)
272-272: object, array, and null values should not be evaluated in template with ${{ }} but evaluating the value of type array
(expression)
281-281: missing input "path" which is required by action "actions/cache/restore@v4". all required inputs are "key", "path"
(action)
312-312: missing input "path" which is required by action "actions/cache/restore@v4". all required inputs are "key", "path"
(action)
🔇 Additional comments (1)
.github/workflows/ci.yml (1)
35-42: Verify artifact naming aligns with prior guidance.Per previous review learning, the
docsartifact should remain separate from the binaries merge pattern. The artifact at lines 38-41 is namedExternalMedia-binariesand won't be matched by thepattern: binaries-*download at line 13. Verify this is intentional and that onlybinaries-docs(containing the PDF manual from build-docs) is included in releases. Based on learnings from prior review.
| - name: Configure with CMake for ${{ matrix.bitness }}bit | ||
| working-directory: ${{runner.workspace}} | ||
| run: | | ||
| $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw64\bin;$env:Path" | ||
| cmake -B build64 -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1 | ||
| cmake -B build64 -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1 | ||
| - name: Build with CMake for 64bit | ||
| $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw${{ matrix.bitness }}\bin;$env:Path" | ||
| cmake -B build -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1 | ||
| cmake -B build -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1 |
There was a problem hiding this comment.
Fix undefined runner.workspace context variable.
runner.workspace does not exist in GitHub Actions runner context. Use github.workspace (the repository checkout directory) or define a custom workspace path.
Apply this diff to use the correct context:
- name: Configure with CMake for ${{ matrix.bitness }}bit
working-directory: ${{runner.workspace}}
run: |
- $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw${{ matrix.bitness }}\bin;$env:Path"
- cmake -B build -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
- cmake -B build -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
+ $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw${{ matrix.bitness }}\bin;$env:Path"
+ cmake -B build -S ${{ github.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1
+ cmake -B build -S ${{ github.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=1Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 actionlint (1.7.8)
257-257: object, array, and null values should not be evaluated in template with ${{ }} but evaluating the value of type array
(expression)
258-258: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
259-259: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
🤖 Prompt for AI Agents
.github/workflows/ci.yml around lines 257 to 262: the workflow uses a
non-existent runner.workspace variable in the step that configures CMake;
replace runner.workspace with the correct GitHub Actions context variable
github.workspace (or a defined custom workspace path) wherever runner.workspace
is referenced in that step and ensure both the working-directory and the cmake
-S path use the updated variable so the checkout directory is used correctly.
| - name: Build with CMake for ${{ matrix.bitness }}bit | ||
| working-directory: ${{runner.workspace}} | ||
| run: | | ||
| $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw64\bin;$env:Path" | ||
| cmake --build build64 --target ExternalMediaLib | ||
| cmake --build build64 --target install | ||
| $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw${{ matrix.bitness }}\bin;$env:Path" | ||
| cmake --build build --target ExternalMediaLib | ||
| cmake --build build --target install |
There was a problem hiding this comment.
Fix undefined runner.workspace context variable in build step.
runner.workspace does not exist in GitHub Actions runner context. Use github.workspace instead.
Apply this diff:
- name: Build with CMake for ${{ matrix.bitness }}bit
working-directory: ${{runner.workspace}}
run: |
- $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw${{ matrix.bitness }}\bin;$env:Path"
+ $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw${{ matrix.bitness }}\bin;$env:Path"
cmake --build build --target ExternalMediaLib
cmake --build build --target installThe working-directory should also be corrected — consider using ${{ github.workspace }}/build or removing it if the steps already handle paths correctly.
Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 actionlint (1.7.8)
263-263: object, array, and null values should not be evaluated in template with ${{ }} but evaluating the value of type array
(expression)
264-264: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
265-265: object, array, and null values should not be evaluated in template with ${{ }} but evaluating the value of type array
(expression)
🤖 Prompt for AI Agents
In .github/workflows/ci.yml around lines 263 to 268, the step uses the
non-existent runner.workspace context and an incorrect working-directory;
replace `${{ runner.workspace }}` with `${{ github.workspace }}` and set
working-directory to either `${{ github.workspace }}/build` (if build output
lives there) or remove the working-directory line if the step already runs from
the repo root, and update the run block to reference `${{ github.workspace }}`
where needed so cmake commands operate in the correct path.
aceb45d to
f615f30
Compare
6e55c09 to
8e6f226
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
♻️ Duplicate comments (3)
.github/workflows/ci.yml (3)
26-30: Fix artifact path structure in PDF copy and ZIP creation.The downloaded artifacts extract to
./Modelica/ExternalMedia/...but lines 26 and 30 reference paths at the root level without theModelica/prefix, which will cause the copy and zip steps to fail.Apply this diff to fix the paths:
- name: Copy the PDF manual - run: cp ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf + run: cp Modelica/ExternalMedia/Resources/manual.pdf ExternalMedia-${{ steps.ref_name.outputs.ref_name }}.pdf - name: Zip binaries uses: papeloto/action-zip@v1 with: - files: ExternalMedia/ + files: Modelica/ExternalMedia/ recursive: true
281-282: Fix undefinedrunner.workspacecontext variable in MSYS OpenModelica build configuration.
runner.workspacedoes not exist in GitHub Actions context. Usegithub.workspaceinstead.Apply this diff:
- name: Configure with CMake for ${{ matrix.bitness }}bit working-directory: ${{runner.workspace}} run: | $env:Path = "${env:ProgramFiles}\CMake\bin;C:\OMDev\tools\msys\usr\bin;C:\OMDev\tools\msys\mingw${{ matrix.bitness }}\bin;$env:Path" - cmake -B build -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} - cmake -B build -S ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} + cmake -B build -S ${{ github.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} + cmake -B build -S ${{ github.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }}
312-313: Fix undefinedrunner.workspacecontext variable in MSYS build configuration.
runner.workspacedoes not exist in GitHub Actions context. Usegithub.workspaceinstead.Apply this diff:
- name: Configure with CMake working-directory: ${{runner.workspace}}/build run: | - cmake ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} - cmake ${{ runner.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} + cmake ${{ github.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} + cmake ${{ github.workspace }}/ExternalMedia/Projects -G "MSYS Makefiles" -DCMAKE_BUILD_TYPE=Release -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }}
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.github/workflows/ci.yml(8 hunks)
🧰 Additional context used
🧠 Learnings (3)
📓 Common learnings
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
📚 Learning: 2025-10-21T08:01:59.111Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#117
File: .github/workflows/ci.yml:15-18
Timestamp: 2025-10-21T08:01:59.111Z
Learning: In the ExternalMedia GitHub Actions workflow (.github/workflows/ci.yml), the `docs` artifact should remain separate from the binaries merge pattern. Only the `binaries-docs` artifact (containing the PDF manual) should be included in the binary distribution, while the `docs` artifact (HTML documentation) is deployed separately to GitHub Pages.
Applied to files:
.github/workflows/ci.yml
📚 Learning: 2025-10-21T07:36:38.359Z
Learnt from: jowr
PR: modelica-3rdparty/ExternalMedia#122
File: Projects/CMakeLists.txt:73-74
Timestamp: 2025-10-21T07:36:38.359Z
Learning: In the ExternalMedia project, CMakeLists.txt intentionally uses CoolProp v6.7.0 (downloaded from sourceforge zipfile) while CI workflows use v7.1.0 (git checkout). This is because the CoolProp zipfile build is broken on Windows after v6.7.0, and this may be resolved in v7.2.0.
Applied to files:
.github/workflows/ci.yml
🪛 actionlint (1.7.8)
.github/workflows/ci.yml
128-128: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
168-168: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
209-209: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
213-213: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
214-214: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
278-278: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
279-279: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
284-284: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
306-306: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
310-310: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
311-311: property "workspace" is not defined in object type {arch: string; debug: string; environment: string; name: string; os: string; temp: string; tool_cache: string}
(expression)
🔇 Additional comments (5)
.github/workflows/ci.yml (5)
54-102: Cache-driven CoolProp preparation is well-implemented.Step IDs are correctly referenced in outputs, cache restore/save steps have required path inputs, and the conditional download logic based on cache-hit is sound.
230-254: OMDev cache management is correctly structured.Step IDs align with job outputs, cache operations have required key and path inputs, and conditional caching logic is sound.
122-131: macOS build cache restoration and configuration is correct.Cache restore step includes required path and key, and CMake configuration uses correct
${GITHUB_WORKSPACE}variable.
162-171: Linux build cache restoration and configuration is correct.Cache restore step has required inputs, and CMake configuration properly uses
${GITHUB_WORKSPACE}.
326-364: Documentation build correctly implements cache-driven pattern and artifact separation.Cache restoration for CoolProp is properly configured, and the separation between
docs(HTML) andbinaries-docs(PDF) artifacts aligns with the release strategy.
| cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} | ||
| cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} |
There was a problem hiding this comment.
Fix undefined runner.workspace context variable in Windows build configuration.
runner.workspace does not exist in GitHub Actions runner context. Use github.workspace instead.
Apply this diff:
- name: Configure with CMake
working-directory: ${{runner.workspace}}/build
run: |
- cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }}
- cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }}
+ cmake ${{ github.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }}
+ cmake ${{ github.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} | |
| cmake ${{ runner.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} | |
| cmake ${{ github.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} | |
| cmake ${{ github.workspace }}/ExternalMedia/Projects -A ${{ matrix.arch }} -G "${{ matrix.generator }}" -T "${{ matrix.toolset }}" -DFLUIDPROP=1 -DCOOLPROP=${{ needs.get-coolprop.outputs.coolprop-check }} |
🤖 Prompt for AI Agents
In .github/workflows/ci.yml around lines 215 to 216, the workflow incorrectly
uses the non-existent runner.workspace context variable; update both cmake
command invocations to use github.workspace instead (replace runner.workspace
with github.workspace) so the paths resolve correctly in the GitHub Actions
environment.
9d92bfb to
451a75a
Compare
451a75a to
e3d57c2
Compare
Summary by CodeRabbit
New Features
Chores
Improvements
Documentation