[composer] manage project dependencies #8223
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: LORIS Test Suite | |
on: | |
- push | |
- pull_request | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
testsuite: | |
- static | |
- unit | |
- integration | |
php: ['7.4','8.0','8.1'] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: zip, php-ast | |
- name: Validate composer.json and composer.lock | |
run: composer validate | |
- name: Cache Composer packages | |
id: composer-cache | |
run: echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- name: Composer cache | |
uses: actions/cache@v2 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Change PHP Version in Dockerfile | |
run: sed -i "s/8.0/${{ matrix.php }}/g" Dockerfile.test.php8 | |
- name: Install package dependencies | |
# We only need to install protobuf-compiler | |
# Other deps were added to fix an apt dependency issue introduced by a new github Ubuntu image | |
# (see https://github.com/actions/runner-images/blob/releases/ubuntu22/20230305/images/linux/Ubuntu2204-Readme.md) | |
# that updated the list of installed apt packages/apt repositories. That issue may disappear in future Ubuntu images. | |
run: | | |
sudo apt install -y imagemagick-6-common libmagickcore-6.q16-6 libmagickwand-6.q16-6 \ | |
libprotobuf-dev libprotobuf23 libprotoc23 protobuf-compiler | |
cd modules/electrophysiology_browser/jsx/react-series-data-viewer/ | |
protoc protocol-buffers/chunk.proto --js_out=import_style=commonjs,binary:./src/ | |
- name: Install composer dependencies | |
if: steps.composer-cache.outputs.cache-hit != 'true' | |
run: composer install --prefer-dist --no-progress --no-suggest | |
- name: Setup Node.js | |
uses: actions/setup-node@v2 | |
with: | |
node-version: 16.x | |
- name: Build LORIS | |
run: make dev | |
- name: Run Test Suite | |
run: npm run tests:${{ matrix.testsuite }} |