Просмотр исходного кода

Try caching composer stuff

Especially the GCM stuff may be quite large, so caching may be a good idea.

I tried following https://github.com/shivammathur/setup-php#cache-composer-dependencies
rugk 4 лет назад
Родитель
Сommit
3ba6483bf3
1 измененных файлов с 23 добавлено и 0 удалено
  1. 23 0
      .github/workflows/tests.yml

+ 23 - 0
.github/workflows/tests.yml

@@ -20,17 +20,40 @@ jobs:
     steps:
     - name: Checkout
       uses: actions/checkout@v2
+      
     - name: Setup PHP
       uses: shivammathur/setup-php@v2
       with:
         php-version: ${{ matrix.php-versions }}
         extensions: gd, sqlite3
+      
+    # composer cache
     - name: Remove composer lock
       run: rm composer.lock
+    - name: Get composer cache directory
+      id: composer-cache
+      run: echo "::set-output name=dir::$(composer config cache-files-dir)"
+    # http://man7.org/linux/man-pages/man1/date.1.html
+    # https://github.com/actions/cache#creating-a-cache-key
+    - name: Get Date
+      id: get-date
+      run: |
+        echo "::set-output name=date::$(/bin/date -u "+%Y%m%d")"
+      shell: bash
+    - name: Cache dependencies
+      uses: actions/cache@v2
+      with:
+        path: ${{ steps.composer-cache.outputs.dir }}
+        key: ${{ runner.os }}-composer-${{ steps.get-date.outputs.date }}-${{ hashFiles('**/composer.lock') }}
+        restore-keys: ${{ runner.os }}-composer-
+    
+    # composer
     - name: Setup PHPunit
       run: composer install -n
     - name: Install Google Cloud Storage
       run: composer require google/cloud-storage
+    
+    # testing
     - name: Run unit tests
       run: ../vendor/bin/phpunit --no-coverage
       working-directory: tst