Skip to content

CI: CI is broken on current GitHub runner images and JUCE develop (plan) - #408

Closed
drowaudio wants to merge 1 commit into
developfrom
bugfix/issue_407_ci_runner_images
Closed

CI: CI is broken on current GitHub runner images and JUCE develop (plan)#408
drowaudio wants to merge 1 commit into
developfrom
bugfix/issue_407_ci_runner_images

Conversation

@drowaudio

Copy link
Copy Markdown
Contributor

Problem summary

Every failure listed in #407 was observed on master (last commit 2025-08-22, JUCE 8.0.6, v3.2.0) or on a branch based on it (#405 has b0c7dd0, the master tip, as its merge-base). develop is 404 commits ahead (JUCE 8.0.13, v3.5.0) and already contains a fix for every item. Both the Build and juce_compatability workflows are fully green on the current develop tip b88a6ee (runs 33712203414 and 33705363025, 2026-09-03, every matrix job success).

So this is not a code problem on develop. It is a branch-hygiene problem: master has not received a release since v3.2 and no longer builds on current runner images, and #405 inherits that by targeting it.

Item-by-item status on develop

Issue item Status on develop Where
1a _LIBCPP_ENABLE_ASSERTIONS removed (macOS Debug) Fixed by JUCE bump to 8.0.13 (37c894f) c622448cc98 Updated juce, macOS Debug jobs green
1b -Wimplicit-int-float-conversion under -Werror (macOS Release) Fixed: explicit casts in all 5 headers, 65 files total bbdcc40650a Added some explicit casts to keep the latest clang version happy
1b Ditherer.h:24 value change Now amp = invWordLen / (float) RAND_MAX;. The "2147483647 to 2147483648" rounding is inherent to representing RAND_MAX in float and only affects the dither amplitude scale by ~5e-8 relative. No behavioural change is needed. same commit
1c MSVC C4458 in juce_VST3PluginFormat.cpp Fixed by JUCE bump; Windows Release jobs green. No /wd4458 was needed. c622448cc98
2a Stale Xcode_15.3.app pin Removed (step is commented out) 822e8b21a61 Use default Xcode version for juce_compat.yaml
2b AudioFormat::createWriterFor override Fixed: new unique_ptr<OutputStream>& overload plus using juce::AudioFormat::createWriterFor; in tracktion_FloatAudioFileFormat.h:38 efcc05c4b5f Updated to latest juce (with AudioFormat API changes
2c DrawableRectangle no longer a Component Fixed: thumbnail cursors replaced with a plain Component in examples/common/Utilities.h:411 6d02c924b07 Examples: Fixed JUCE 9 compatibility
2d JUCE_USE_CURL / JUCE_WEB_BROWSER redefined (gcc) Not reproducing: linux juce_compatability job green against JUCE develop (9.0.1) run 33705363025

Affected files and modules

No source changes are proposed on develop. The affected artefacts are branches:

Step-by-step approach

  1. Retarget or rebase Fix SoundTouch producing silence through the read-ahead time-stretch path #405 onto develop. Either change the PR base to develop (its diff will then be evaluated against current code; it will need a rebase because the merge-base is 0a5f4e6 from May 2025), or ask the author to rebase. Its CI will then run with the green toolchain.
  2. Bring master up to date. Merge develop into master (or fast-forward if a v3.5 release is intended). This is the only change that makes master's own scheduled runs green again and stops future master-based PRs from hitting the same wall. This is a maintainer action and not something to do from a bugfix branch.
  3. Optional hardening so this is not repeated: add a note to CONTRIBUTING/README that PRs target develop, and consider a GitHub branch-protection or a tiny workflow that fails PRs opened against master unless they are release PRs. Nothing else in the CI config needs changing.
  4. Close CI is broken on current GitHub runner images and JUCE develop #407 once master builds green, or close it now as "fixed on develop" with the pointer to step 2.

Edge cases and tests

  • No regression test applies; the "test" is the existing CI matrix, which is already green on develop.
  • The Ditherer.h question raised in the issue was checked: the cast only changes the dither noise amplitude at the 1e-8 relative level; no test or behaviour change warranted.
  • If master is merged forward, the scheduled Build and juce_compatability runs on master will confirm the fix without any manual step.

Complexity

Small. No code change; one branch merge and one PR retarget.

Open questions for the maintainer

  1. Should master be updated by merging develop now (implying a v3.5.0 release), or is master intentionally frozen at v3.2 until a later release?
  2. For Fix SoundTouch producing silence through the read-ahead time-stretch path #405: retarget to develop, or ask the author to rebase and re-open?
  3. Do you want the optional guard (step 3) that stops PRs targeting master? If yes, this branch can carry that workflow change; otherwise this draft PR can be closed without merging.

Fixes #407

@codecov

codecov Bot commented Sep 3, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.74%. Comparing base (b88a6ee) to head (4efba6e).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop     #408   +/-   ##
========================================
  Coverage    58.74%   58.74%           
========================================
  Files          564      564           
  Lines        78879    78879           
  Branches     12330    12328    -2     
========================================
+ Hits         46338    46339    +1     
+ Misses       32541    32540    -1     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@drowaudio drowaudio closed this Sep 3, 2026
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.

CI is broken on current GitHub runner images and JUCE develop

1 participant