Compare commits

..

1 Commits

Author SHA1 Message Date
Shivam Mathur 07b9c6a8fd Use php-darwin caches on macOS 2026-08-29 09:06:35 +05:30
4 changed files with 43 additions and 9 deletions
+3 -3
View File
@@ -26,13 +26,13 @@ jobs:
persist-credentials: false
- name: Initialize CodeQL
uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
with:
config-file: ./.github/codeql/codeql-configuration.yml
languages: javascript
- name: Autobuild
uses: github/codeql-action/autobuild@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
uses: github/codeql-action/autobuild@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4
uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # v4
+1 -1
View File
@@ -48,7 +48,7 @@ jobs:
- name: Setup cache environment
id: cache-env
uses: shivammathur/cache-extensions@de3c642a5fce0ef91581a1c9831e229f525196d6 # v1
uses: shivammathur/cache-extensions@50000e7030dd3fa176964a8fbbbd9e4b560fe4d4 # v1
with:
php-version: ${{ matrix.php-versions || env.default-php-version }}
extensions: ${{ env.extensions }}
+30 -3
View File
@@ -174,6 +174,30 @@ get_brewed_php() {
fi
}
# Function to setup PHP from the cached builds.
setup_cached_versions() {
local cache_log
local cache_status
cache_log=$(mktemp "${RUNNER_TEMP:-/tmp}/setup-php-php-darwin.XXXXXX") || return 1
if run_script_source="https://raw.githubusercontent.com/shivammathur/php-darwin/main/scripts/install.sh" \
run_script_errexit=true run_script "php-darwin" "$version" "${debug:?}" "${ts:?}" \
>"$cache_log" 2>&1; then
if [ "${PHP_DARWIN_SHOW_LOG:-false}" = true ]; then
cat "$cache_log" >&4
fi
rm -f "$cache_log"
return 0
else
cache_status=$?
fi
printf 'setup-php: php-darwin cache installation failed (exit %s); falling back to Homebrew\n' \
"$cache_status" >&4
cat "$cache_log" >&4
rm -f "$cache_log"
return "$cache_status"
}
# Function to setup PHP 5.6 and newer using Homebrew.
add_php() {
action=$1
@@ -182,6 +206,9 @@ add_php() {
php_keg="php@$version$suffix"
php_formula="shivammathur/php/$php_keg"
if [[ "$existing_version" = "false" || -n "$suffix" || "$action" = "upgrade" ]]; then
if [ "${runner:?}" != "self-hosted" ] && [ "${use_package_cache:-true}" != "false" ] && setup_cached_versions; then
return 0
fi
update_dependencies
add_brew_tap "$php_tap"
fi
@@ -252,13 +279,13 @@ setup_php() {
if [[ "$version" =~ ${old_versions:?} ]]; then
run_script "php5-darwin" "${version/./}" >/dev/null 2>&1
status="Installed"
elif [ "${existing_version:0:3}" != "$version" ]; then
add_php "install" "$existing_version" >/dev/null 2>&1
elif [[ "${existing_version:0:3}" != "$version" || -n "$(get_php_formula_suffix)" ]]; then
add_php "install" "$existing_version" 4>&2 >/dev/null 2>&1
status="Installed"
elif [[ "${existing_version:0:3}" = "$version" && "${update:?}" = "true" ]]; then
brew_php_version="$(brew info --json "php@$version" 2>/dev/null | jq -r '.[].versions.stable')"
if [ "$brew_php_version" != "$existing_version" ]; then
add_php "upgrade" "$existing_version" >/dev/null 2>&1
add_php "upgrade" "$existing_version" 4>&2 >/dev/null 2>&1
status="Upgraded"
fi
fi
+9 -2
View File
@@ -232,8 +232,15 @@ run_script() {
repo=$1
shift
args=("$@")
get -q -e /tmp/install.sh "$github/$repo/$latest/install.sh" "$jsdeliver/$repo@main/scripts/install.sh" "$setup_php/$repo/install.sh"
bash /tmp/install.sh "${args[@]}"
script_sources=()
[ -z "${run_script_source:-}" ] || script_sources+=("$run_script_source")
script_sources+=("$github/$repo/$latest/install.sh" "$jsdeliver/$repo@main/scripts/install.sh" "$setup_php/$repo/install.sh")
get -q -e /tmp/install.sh "${script_sources[@]}"
if [ "${run_script_errexit:-false}" = true ]; then
bash -e /tmp/install.sh "${args[@]}"
else
bash /tmp/install.sh "${args[@]}"
fi
}
# Function to install required packages on self-hosted runners.