-
Notifications
You must be signed in to change notification settings - Fork 247
Externalise cache keys to prevent unneeded invalidation #3922
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| #!/bin/bash | ||
| # The following version pinnings are semi-automatically checked for updates. | ||
| # Verify .github/workflows/bump-dependencies.yml when changing those manually: | ||
|
|
||
| # Values are consumed by ios.sh and the dependency cache key. | ||
| # shellcheck disable=SC2034 | ||
| AQTINSTALL_VERSION=3.3.0 | ||
| QT_VERSION=5.15.2 | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| #!/bin/bash | ||
| # The following version pinnings are semi-automatically checked for updates. | ||
| # Verify .github/workflows/bump-dependencies.yml when changing those manually: | ||
|
|
||
| # Values are consumed by .github/autobuild/mac.sh, mac/deploy_mac.sh and the dependency cache key. | ||
| # shellcheck disable=SC2034 | ||
| AQTINSTALL_VERSION=3.3.0 | ||
| QT_VERSION=5.15.2 | ||
| CREATEDMG_VERSION=1.3.0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| #!/bin/bash | ||
| # The following version pinnings are semi-automatically checked for updates. | ||
| # Verify .github/workflows/bump-dependencies.yml when changing those manually: | ||
|
|
||
| # Values are consumed by .github/autobuild/mac.sh, mac/deploy_mac.sh and the dependency cache key. | ||
| # shellcheck disable=SC2034 | ||
| AQTINSTALL_VERSION=3.3.0 | ||
| QT_VERSION=6.10.2 | ||
| CREATEDMG_VERSION=1.3.0 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -48,10 +48,13 @@ | |
|
|
||
| set -eu | ||
|
|
||
| QT=${QT:-6} | ||
| PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" | ||
| readonly PROJECT_DIR | ||
| # shellcheck disable=SC1090 | ||
| source "${PROJECT_DIR}/.github/autobuild/mac-dependencies_qt${QT}.sh" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Do we have a guarantee that ${QT} is safe and correct? I'd add an error check if the file exists before.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It's set from the autobuild workflow file and, if not, defaults to 6 at the top of the file. If someone sets the wrong value, this command will safely crash the workflow.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd still like a guard to reject invalid values.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🧩 Analysis chain🏁 Script executed: #!/bin/bash
set -euo pipefail
printf '%s\n' '== mac dependency scripts =='
fd -a -t f '^mac-dependencies_qt.*\.sh$' .github/autobuild -x sh -c 'printf "%s\n" "$1"' sh {}
printf '%s\n' '== QT assignments and mac.sh invocations in GitHub workflows =='
rg -n -C 3 --glob '*.yml' --glob '*.yaml' \
'(^|[[:space:]])QT[=:]|mac\.sh|mac-dependencies_qt' .github
printf '%s\n' '== source sites for mac-dependencies scripts =='
rg -n -C 3 'source .*mac-dependencies_qt|mac-dependencies_qt' .githubLength of output: 5420
The workflow currently uses only Add an allowlist before the QT=${QT:-6}
case "${QT}" in
5|6) ;;
*)
echo "Environment variable QT must be 5 or 6"
exit 1
;;
esacThis makes the supported interface explicit and prevents unexpected dependency-script paths. You are interacting with an AI system.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, it makes a claim that's unjustified. If there were a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The point being, someone could rename |
||
|
|
||
| QT_DIR=~/qt | ||
| # The following version pinnings are semi-automatically checked for | ||
| # updates. Verify .github/workflows/bump-dependencies.yaml when changing those manually: | ||
| AQTINSTALL_VERSION=3.3.0 | ||
|
|
||
| TARGET_ARCHS="${TARGET_ARCHS:-}" | ||
|
|
||
|
|
@@ -65,7 +68,8 @@ if [[ ! ${JAMULUS_BUILD_VERSION:-} =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then | |
| fi | ||
|
|
||
| setup() { | ||
| if [[ -d "${QT_DIR}" ]]; then | ||
| if [[ -x "${QT_DIR}/${QT_VERSION}/macos/bin/qmake" && | ||
| -x "${QT_DIR}/${QT_VERSION}/macos/bin/macdeployqt" ]]; then | ||
| echo "Using Qt installation from previous run (actions/cache)" | ||
| else | ||
| echo "Installing Qt..." | ||
|
|
@@ -194,7 +198,7 @@ build_app_as_dmg_installer() { | |
| if prepare_signing; then | ||
| BUILD_ARGS=("-s" "${MACOS_CERTIFICATE_DEV_ID_APPLICATION_ID}" "-a" "${MAC_STORE_APP_CERT_ID}" "-i" "${MACOS_CERTIFICATE_INST_DISTRIBUTION_ID}" "-k" "${KEYCHAIN_PASSWORD}") | ||
| fi | ||
| TARGET_ARCHS="${TARGET_ARCHS}" ./mac/deploy_mac.sh "${BUILD_ARGS[@]}" | ||
| QT=${QT} TARGET_ARCHS="${TARGET_ARCHS}" ./mac/deploy_mac.sh "${BUILD_ARGS[@]}" | ||
| } | ||
|
|
||
| pass_artifact_to_job() { | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| # The following version pinnings are semi-automatically checked for updates. | ||
| # Verify .github/workflows/bump-dependencies.yml when changing those manually: | ||
|
|
||
| # Values are consumed by .github/autobuild/windows.ps1, windows/deploy_windows.ps1 and the dependency cache key. | ||
| $Qt32Version = "5.15.2" | ||
| $Qt64Version = "6.10.2" | ||
| $QtCompile32 = "msvc2019" | ||
| $QtCompile64 = "msvc2022" | ||
| $AqtinstallVersion = "3.3.0" | ||
| $JackVersion = "1.9.22" | ||
| $JomVersion = "1.1.2" | ||
|
|
||
| # Important: | ||
| # - Do not update ASIO SDK without checking for license-related changes. | ||
| # - Do not copy (parts of) the ASIO SDK into the Jamulus source tree without | ||
| # further consideration as it would make the license situation more complicated. | ||
|
ann0see marked this conversation as resolved.
|
||
| $AsioSDKVersion = "ASIO-SDK_2.3.4_2025-10-15" | ||
|
|
||
| $NsisVersion = "3.12" | ||
Uh oh!
There was an error while loading. Please reload this page.