feat: reintegrate username functionality #5329
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: CI | |
on: | |
push: | |
branches: | |
- "master" | |
- "develop" | |
pull_request: | |
types: [ready_for_review, synchronize, opened] | |
jobs: | |
conflicts: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Merge Conflict finder | |
uses: olivernybroe/action-conflict-finder@v4.0 | |
analyse: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.3" | |
extensions: mbstring, dom, fileinfo, intl, gd, imagick, bcmath, soap, zip, sqlite, pcov | |
coverage: pcov | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache/files | |
key: dependencies-composer-${{ hashFiles('composer.json') }} | |
- name: Install Composer dependencies | |
run: composer install --no-ansi --no-interaction --no-suggest --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs | |
- name: Prepare the database | |
run: touch database/database.sqlite | |
- name: Prepare the application | |
run: cp .env.example .env && php artisan key:generate | |
- name: Run PHPStan | |
run: composer analyse | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
token: ${{ secrets.GH_TOKEN }} | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.3" | |
extensions: mbstring, dom, fileinfo, intl, gd, imagick, bcmath, soap, zip, sqlite, pcov | |
coverage: pcov | |
- name: Install | |
run: composer install --no-ansi --no-interaction --no-suggest --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs | |
- name: Run php-cs-fixer | |
run: composer format | |
- uses: stefanzweifel/git-auto-commit-action@v5 | |
with: | |
commit_message: "style: resolve style guide violations" | |
branch: ${{ github.head_ref }} | |
unit: | |
needs: [conflicts, analyse, format] | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:12 | |
env: | |
POSTGRES_DB: arkscan_test_db | |
POSTGRES_USER: arkscan_test_db | |
POSTGRES_PASSWORD: password | |
ports: | |
- 5432:5432 | |
options: >- | |
--health-cmd="pg_isready -d arkscan_test_db -U arkscan_test_db" | |
--health-interval=10s | |
--health-timeout=5s | |
--health-retries=5 | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ github.head_ref }} | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: "8.3" | |
extensions: mbstring, dom, fileinfo, intl, gd, imagick, bcmath, soap, zip, sqlite, pcov | |
coverage: pcov | |
- name: Cache dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ~/.composer/cache/files | |
key: dependencies-composer-${{ hashFiles('composer.json') }} | |
- name: Install Composer dependencies | |
run: composer install --no-ansi --no-interaction --no-suggest --no-progress --prefer-dist --optimize-autoloader --ignore-platform-reqs | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
- uses: pnpm/action-setup@v3 | |
with: | |
version: 9 | |
- name: Install pnpm dependencies | |
run: pnpm i --frozen-lockfile | |
- name: Build public-facing assets | |
run: pnpm build | |
- name: Prepare the database | |
run: touch database/database.sqlite | |
- name: Prepare the application | |
run: cp .env.example .env && php artisan key:generate | |
- name: Clear Config | |
run: php artisan config:clear && php artisan route:clear | |
- name: Create second database for explorer | |
run: | | |
psql -h 127.0.0.1 -U arkscan_test_db -c "CREATE DATABASE arkscan_test_db_explorer;" | |
env: | |
PGPASSWORD: password | |
- name: Cache PHPUnit coverage | |
uses: actions/cache@v4 | |
with: | |
path: .phpunit.cache | |
key: phpunit-cache-${{ runner.os }}-${{ hashFiles('composer.json') }} | |
- name: Run Tests | |
run: composer test:coverage | |
env: | |
# Main database | |
DB_CONNECTION: pgsql | |
DB_HOST: 127.0.0.1 | |
DB_PORT: 5432 | |
DB_DATABASE: arkscan_test_db | |
DB_USERNAME: arkscan_test_db | |
DB_PASSWORD: password | |
# Explorer database | |
ARKSCAN_DB_HOST: 127.0.0.1 | |
ARKSCAN_DB_PORT: 5432 | |
ARKSCAN_DB_DATABASE: arkscan_test_db_explorer | |
ARKSCAN_DB_USERNAME: arkscan_test_db | |
ARKSCAN_DB_PASSWORD: password |