## # Managed by https://github.com/localgovdrupal/github_workflow_manager --- name: Test localgovdrupal/localgov-project project on: push: branches: - '2.x' pull_request: branches: - '2.x' schedule: - cron: "0 7 * * *" env: LOCALGOV_DRUPAL_PROJECT: localgovdrupal/localgov-project LOCALGOV_DRUPAL_PROJECT_PATH: jobs: build: name: Install LocalGov Drupal runs-on: ubuntu-latest strategy: fail-fast: false matrix: localgov-version: ["2.x"] drupal-version: ["~9.1"] php-version: ["7.4","8.1"] steps: - name: Save git branch and git repo names to env if this is not a pull request if: github.event_name != 'pull_request' run: | echo "GIT_BASE=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV echo "GIT_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV echo "GIT_REPO=${GITHUB_REPOSITORY}" >> $GITHUB_ENV - name: Save git branch and git repo names to env if this is a pull request if: github.event_name == 'pull_request' run: | echo "GIT_BASE=${GITHUB_BASE_REF}" >> $GITHUB_ENV echo "GIT_BRANCH=${GITHUB_HEAD_REF}" >> $GITHUB_ENV echo "GIT_REPO=${{ github.event.pull_request.head.repo.full_name }}" >> $GITHUB_ENV - name: Set composer branch reference for version branches if: endsWith(github.ref, '.x') run: echo "COMPOSER_REF=${GIT_BRANCH}-dev" >> $GITHUB_ENV - name: Set composer branch reference for non-version branches if: endsWith(github.ref, '.x') == false run: echo "COMPOSER_REF=dev-${GIT_BRANCH}" >> $GITHUB_ENV - name: Cached workspace uses: actions/cache@v2 with: path: ./html key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }} - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} - name: Clone drupal_container uses: actions/checkout@v2 with: repository: localgovdrupal/drupal-container ref: php${{ matrix.php-version }} - name: Create LocalGov Drupal project run: composer create-project --stability dev localgovdrupal/localgov-project:${COMPOSER_REF} ./html phpcs: name: Coding standards checks needs: build runs-on: ubuntu-latest strategy: fail-fast: false matrix: localgov-version: ["2.x"] drupal-version: ["~9.1"] php-version: ["7.4","8.1"] steps: - name: Cached workspace uses: actions/cache@v2 with: path: ./html key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }} restore-keys: | localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}- - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} - name: Run coding standards checks run: | cd html ./bin/phpcs -p ${LOCALGOV_DRUPAL_PROJECT_PATH} phpstan: name: Deprecated code checks needs: build runs-on: ubuntu-latest strategy: fail-fast: false matrix: localgov-version: ["2.x"] drupal-version: ["~9.1"] php-version: ["7.4","8.1"] steps: - name: Cached workspace uses: actions/cache@v2 with: path: ./html key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }} restore-keys: | localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}- - name: Setup PHP uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} - name: Run deprecated code checks run: | cd html ./bin/phpstan analyse -c ./phpstan.neon ./web/modules/contrib/localgov* ./web/profiles/contrib/localgov* ./web/themes/contrib/localgov* phpunit: name: PHPUnit tests needs: build runs-on: ubuntu-latest strategy: fail-fast: false matrix: localgov-version: ["2.x"] drupal-version: ["~9.1"] php-version: ["7.4","8.1"] steps: - name: Clone Drupal container uses: actions/checkout@v2 with: repository: localgovdrupal/drupal-container ref: php${{ matrix.php-version }} - name: Cached workspace uses: actions/cache@v2 with: path: ./html key: localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}-${{ github.run_id }}-${{ secrets.CACHE_VERSION }} restore-keys: | localgov-build-${{ matrix.localgov-version }}-${{ matrix.drupal-version }}-${{ matrix.php-version }}- - name: Start Docker environment run: docker-compose -f docker-compose.yml up -d - name: Run PHPUnit tests run: | mkdir -p ./html/web/sites/simpletest && chmod 777 ./html/web/sites/simpletest docker exec -t drupal bash -c 'chown docker:docker -R /var/www/html' docker exec -u docker -t drupal bash -c "cd /var/www/html && ./bin/paratest --processes=4"