Skip to content

Commit

Permalink
Merge pull request #2 from shivammathur/develop
Browse files Browse the repository at this point in the history
1.0.0
  • Loading branch information
shivammathur authored Feb 14, 2020
2 parents 79b498e + 7afb25f commit ac570d4
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 38 deletions.
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,13 +65,13 @@ jobs:
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
env:
extensions: intl, pcov
key: cache # can be any string
key: cache-v1 # can be any string, change to clear the extension cache.
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup cache environment
id: cache-extensions
id: cache-env
uses: shivammathur/cache-extensions@v1
with:
php-version: ${{ matrix.php-versions }}
Expand All @@ -81,14 +81,14 @@ jobs:
- name: Cache extensions
uses: actions/cache@v1
with:
path: ${{ steps.cache-extensions.outputs.ext_dir }}
key: ${{ runner.os }}-ext-${{ matrix.php-versions }}-${{ steps.cache-extensions.outputs.ext_hash }}
restore-keys: ${{ runner.os }}-ext-${{ matrix.php-versions }}-${{ steps.cache-extensions.outputs.ext_hash }}
path: ${{ steps.cache-env.outputs.dir }}
key: ${{ steps.cache-env.outputs.key }}
restore-keys: ${{ steps.cache-env.outputs.key }}

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}
php-version: ${{ matrix.php-versions }}
extensions: ${{ env.extensions }}
```
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "cache-extensions",
"version": "0.0.1",
"version": "1.0.0",
"private": false,
"description": "Cache extensions in GitHub Actions",
"main": "dist/index.js",
Expand Down
46 changes: 16 additions & 30 deletions src/extensions.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
linux_extension_dir() {
apiv=$1
old_versions_linux="5.[4-5]"
if [ "$version" = "5.3" ]; then
echo "/home/runner/php/5.3.29/lib/php/extensions/no-debug-non-zts-$apiv"
elif [[ "$version" =~ $old_versions_linux ]]; then
Expand All @@ -13,6 +14,7 @@ linux_extension_dir() {

darwin_extension_dir() {
apiv=$1
old_versions_darwin="5.[3-5]"
if [[ "$version" =~ $old_versions_darwin ]]; then
echo "/opt/local/lib/php${version/./}/extensions/no-debug-non-zts-$apiv"
else
Expand All @@ -22,30 +24,14 @@ darwin_extension_dir() {

get_apiv() {
case $version in
5.3)
echo "20090626"
;;
5.4)
echo "20100525"
;;
5.5)
echo "20121212"
;;
5.6)
echo "20131226"
;;
7.0)
echo "20151012"
;;
7.1)
echo "20160303"
;;
7.2)
echo "20170718"
;;
7.3)
echo "20180731"
;;
5.3) echo "20090626" ;;
5.4) echo "20100525" ;;
5.5) echo "20121212" ;;
5.6) echo "20131226" ;;
7.0) echo "20151012" ;;
7.1) echo "20160303" ;;
7.2) echo "20170718" ;;
7.3) echo "20180731" ;;
*)
if [ "$version" = "8.0" ]; then
php_h="https://raw.githubusercontent.com/php/php-src/master/main/php.h"
Expand All @@ -59,21 +45,21 @@ get_apiv() {
}

version=$2
old_versions_linux="5.[4-5]"
old_versions_darwin="5.[3-5]"
extensions=$1
os=$(uname -s)
if [ "$os" = "Linux" ]; then
flags='-Po'
apiv=$(get_apiv)
dir=$(linux_extension_dir "$apiv")
sudo mkdir -p "$dir" && sudo chown -R "$USER":"$(id -g -n)" $(dirname "$dir")
sudo mkdir -p "$dir" && sudo chown -R "$USER":"$(id -g -n)" "$(dirname "$dir")"
elif [ "$os" = "Darwin" ]; then
flags='-Eo'
apiv=$(get_apiv)
dir=$(darwin_extension_dir "$apiv")
else
os="Windows"
dir='C:\\tools\\php\\ext'
fi
hash=$(echo -n "$1" | openssl dgst -sha256 | cut -d ' ' -f 2)
echo "::set-output name=ext_dir::$dir"
echo "::set-output name=ext_hash::$hash"
key="$os"-ext-"$version"-$(echo -n "$extensions" | openssl dgst -sha256 | cut -d ' ' -f 2)
echo "::set-output name=dir::$dir"
echo "::set-output name=key::$key"

0 comments on commit ac570d4

Please sign in to comment.