-
Notifications
You must be signed in to change notification settings - Fork 248
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.yaml 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 |
|---|---|---|
|
|
@@ -48,10 +48,12 @@ | |
|
|
||
| set -eu | ||
|
|
||
| QT_DIR=/opt/qt | ||
| # The following version pinnings are semi-automatically checked for | ||
| # updates. Verify .github/workflows/bump-dependencies.yaml when changing those manually: | ||
|
Comment on lines
-52
to
-53
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. @pljones Maybe I am blind, but I think this comment got dropped?
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. Oh, right. I should have put that on all the |
||
| AQTINSTALL_VERSION=3.3.0 | ||
| PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" | ||
| readonly PROJECT_DIR | ||
| # shellcheck disable=SC1091 | ||
| source "${PROJECT_DIR}/.github/autobuild/ios-dependencies.sh" | ||
|
|
||
| QT_DIR=${HOME}/qt | ||
|
|
||
| if [[ ! ${QT_VERSION:-} =~ [0-9]+\.[0-9]+\..* ]]; then | ||
| echo "Environment variable QT_VERSION must be set to a valid Qt version" | ||
|
|
@@ -63,13 +65,13 @@ if [[ ! ${JAMULUS_BUILD_VERSION:-} =~ [0-9]+\.[0-9]+\.[0-9]+ ]]; then | |
| fi | ||
|
|
||
| setup() { | ||
| if [[ -d "${QT_DIR}" ]]; then | ||
| # We may need to create the Qt installation directory and chown it to the runner user to fix permissions | ||
| sudo mkdir -p "${QT_DIR}" | ||
| sudo chown -R "$(whoami)" "${QT_DIR}" | ||
| if [[ -x "${QT_DIR}/${QT_VERSION}/ios/bin/qmake" ]]; then | ||
| echo "Using Qt installation from previous run (actions/cache)" | ||
| else | ||
| echo "Installing Qt" | ||
| # We may need to create the Qt installation directory and chown it to the runner user to fix permissions | ||
| sudo mkdir -p "${QT_DIR}" | ||
| sudo chown "$(whoami)" "${QT_DIR}" | ||
| # Create and enter virtual environment | ||
| python3 -m venv venv | ||
| # Must hide directory as it just gets created during execution of the previous command and cannot be found by shellcheck | ||
|
|
||
| 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.yaml 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.yaml 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. |
||
|
|
||
| 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.yaml 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.8.1" | ||
| $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. | ||
|
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. Probably outdated as they moved to the GPL.
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. As it's version dependent (if the old version can still be found), I suppose it makes sense to keep it. If and when the old version vanishes, this can go, too.
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. The old version will probably not vanish. But we can of course keep this. |
||
| $AsioSDKVersion = "ASIO-SDK_2.3.4_2025-10-15" | ||
|
|
||
| $NsisVersion = "3.12" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This then dropped the comment about pinning?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eh?