Skip to content

Commit

Permalink
3547: Updated GitHub Actions
Browse files Browse the repository at this point in the history
  • Loading branch information
rimi-itk committed Jan 10, 2025
1 parent 2980423 commit 4647b50
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 84 deletions.
186 changes: 102 additions & 84 deletions .github/workflows/pr.yaml
Original file line number Diff line number Diff line change
@@ -1,90 +1,108 @@
on: pull_request
name: Review

# https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables#defining-environment-variables-for-a-single-workflow
# (cf. services.phpfpm.user in ../../docker-compose.yml)
env:
COMPOSE_USER: ${USER}

jobs:
test-composer-install:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
php: ['8.3']
name: Validate composer (${{ matrix.php}})
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php}}
extensions: apcu, ctype, iconv, json, redis, tokenizer
coverage: none
- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache composer dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ matrix.php }}-composer-
- name: Validate composer files
run: composer validate composer.json
- uses: actions/checkout@v4
- run: |
whoami
printenv
echo ${COMPOSE_USER}
- run: |
docker network create frontend
docker compose run --rm phpfpm whoami
coding-standards:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
php: ['8.3']
name: PHP coding standards (${{ matrix.php }})
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php}}
extensions: apcu, ctype, iconv, json, redis, tokenizer
coverage: none
- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache composer dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ matrix.php }}-composer-
- name: Install Dependencies
run: composer install --ignore-platform-req=php
- name: Coding standards
run: composer coding-standards-check
# test-composer-install:
# runs-on: ubuntu-20.04
# strategy:
# fail-fast: false
# matrix:
# php: ['8.3']
# name: Validate composer (${{ matrix.php}})
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Setup PHP, with composer and extensions
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php}}
# extensions: apcu, ctype, iconv, json, redis, tokenizer
# coverage: none
# - name: Get composer cache directory
# id: composer-cache
# run: echo "::set-output name=dir::$(composer config cache-files-dir)"
# - name: Cache composer dependencies
# uses: actions/cache@v2
# with:
# path: ${{ steps.composer-cache.outputs.dir }}
# key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
# restore-keys: ${{ matrix.php }}-composer-
# - name: Validate composer files
# run: composer validate composer.json

code-analysis:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
php: ['8.3']
name: PHP code analysis (${{ matrix.php }})
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup PHP, with composer and extensions
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php}}
extensions: apcu, ctype, iconv, json, redis, tokenizer
coverage: none
- name: Get composer cache directory
id: composer-cache
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
- name: Cache composer dependencies
uses: actions/cache@v2
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ matrix.php }}-composer-
- name: Install Dependencies
run: composer install --ignore-platform-req=php
- name: Code analysis
run: composer code-analysis
# coding-standards:
# runs-on: ubuntu-20.04
# strategy:
# fail-fast: false
# matrix:
# php: ['8.3']
# name: PHP coding standards (${{ matrix.php }})
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Setup PHP, with composer and extensions
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php}}
# extensions: apcu, ctype, iconv, json, redis, tokenizer
# coverage: none
# - name: Get composer cache directory
# id: composer-cache
# run: echo "::set-output name=dir::$(composer config cache-files-dir)"
# - name: Cache composer dependencies
# uses: actions/cache@v2
# with:
# path: ${{ steps.composer-cache.outputs.dir }}
# key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
# restore-keys: ${{ matrix.php }}-composer-
# - name: Install Dependencies
# run: composer install --ignore-platform-req=php
# - name: Coding standards
# run: composer coding-standards-check

# code-analysis:
# runs-on: ubuntu-20.04
# strategy:
# fail-fast: false
# matrix:
# php: ['8.3']
# name: PHP code analysis (${{ matrix.php }})
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# - name: Setup PHP, with composer and extensions
# uses: shivammathur/setup-php@v2
# with:
# php-version: ${{ matrix.php}}
# extensions: apcu, ctype, iconv, json, redis, tokenizer
# coverage: none
# - name: Get composer cache directory
# id: composer-cache
# run: echo "::set-output name=dir::$(composer config cache-files-dir)"
# - name: Cache composer dependencies
# uses: actions/cache@v2
# with:
# path: ${{ steps.composer-cache.outputs.dir }}
# key: ${{ matrix.php }}-composer-${{ hashFiles('**/composer.lock') }}
# restore-keys: ${{ matrix.php }}-composer-
# - name: Install Dependencies
# run: composer install --ignore-platform-req=php
# - name: Code analysis
# run: composer code-analysis
4 changes: 4 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ services:

phpfpm:
image: itkdev/php8.3-fpm:latest
# https://docs.docker.com/reference/compose-file/services/#user
# https://docs.docker.com/compose/how-tos/environment-variables/variable-interpolation/#interpolation-syntax
# (used in .github/workflows/pr.yaml to run service as root)
user: ${COMPOSE_USER:-deploy}
networks:
- app
extra_hosts:
Expand Down

0 comments on commit 4647b50

Please sign in to comment.