Implement AES 256 GCM for sensitive data #158
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: quality | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
static-analysis: | |
name: Static Analysis | |
runs-on: [self-hosted, Linux, x64] | |
container: shivammathur/node:latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
env: | |
runner: self-hosted | |
with: | |
php-version: '8.2' | |
extensions: zip, xsl, dom, exif, intl, pcntl, bcmath, sockets, mbstring, pdo_mysql, mysqli, redis | |
tools: composer | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Prepare Cache For Composer | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install Dependencies | |
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- name: Run Psalm | |
run: ./vendor/bin/psalm --php-version=8.2 --show-info=true --no-cache | |
coding-standards: | |
name: Coding Standards | |
runs-on: [self-hosted, Linux, x64] | |
container: shivammathur/node:latest | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
env: | |
runner: self-hosted | |
with: | |
php-version: '8.2' | |
extensions: zip, xsl, dom, exif, intl, pcntl, bcmath, sockets, mbstring, pdo_mysql, mysqli, redis | |
tools: composer | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Prepare Cache For Composer | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: "${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}" | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Install Dependencies | |
run: composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
- name: Run Code Sniffer | |
run: ./vendor/bin/phpcs -p -n --standard=PSR12 --colors --report=code ./app/src | |
tests: | |
name: Tests | |
runs-on: [self-hosted, Linux, x64] | |
container: shivammathur/node:latest | |
permissions: | |
contents: read | |
packages: write | |
services: | |
cache: | |
image: cashtrack/redis:latest | |
ports: | |
- 6379 | |
database: | |
image: cashtrack/mysql:latest | |
env: | |
MYSQL_ROOT_PASSWORD: secret | |
MYSQL_DATABASE: cashtrack | |
MYSQL_USER: cashtrack | |
MYSQL_PASSWORD: secret | |
ports: | |
- 3306 | |
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
env: | |
runner: self-hosted | |
with: | |
php-version: '8.2' | |
coverage: pcov | |
extensions: zip, xsl, dom, exif, intl, pcntl, bcmath, sockets, mbstring, pdo_mysql, mysqli, redis | |
tools: composer, phpunit | |
- name: Get Composer Cache Directory | |
id: composer-cache | |
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT | |
- name: Prepare Cache For Composer | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- name: Setup Application | |
run: | | |
cp .env.actions .env | |
composer install --no-progress --no-interaction --prefer-dist --optimize-autoloader | |
php app.php encrypt:key -m .env | |
php app.php rsa:gen -m .env | |
php app.php configure -vv | |
vendor/bin/rr get --quiet | |
php app.php migrate:init | |
php app.php migrate -s -n | |
- name: Run PHPUnit | |
run: ./vendor/bin/phpunit --coverage-clover=coverage.xml | |
- name: Upload Coverage To Codecov | |
continue-on-error: true | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
files: ./coverage.xml |