Skip to content

Update dependency brianium/paratest to v6.10.1 (#246) #255

Update dependency brianium/paratest to v6.10.1 (#246)

Update dependency brianium/paratest to v6.10.1 (#246) #255

name: Master branch validation
on:
push:
branches: [ master ]
env:
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
IMAGE_NAME: ${{secrets.IMAGE_NAME}}
jobs:
Build_and_push_docker_image:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changed files using defaults
id: changed-files
uses: tj-actions/[email protected]
- name: Build the docker image
if: contains(steps.changed-files.outputs.modified_files, 'Dockerfile')
run: docker build . --file Dockerfile --tag $DOCKER_USER/$IMAGE_NAME:latest
- name: Login to DockerHub
if: contains(steps.changed-files.outputs.modified_files, 'Dockerfile')
run: docker login -u $DOCKER_USER -p $DOCKER_PASSWORD docker.io
- name: Push the docker image
if: contains(steps.changed-files.outputs.modified_files, 'Dockerfile')
run: docker push $DOCKER_USER/$IMAGE_NAME --all-tags
Prepare_environment:
needs: Build_and_push_docker_image
runs-on: ubuntu-latest
container:
image: mkoding/tfg-project:latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache vendor
uses: actions/cache@v3
id: composer-cache
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}-${{ hashFiles('composer.json') }}
- name: Install composer dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --no-ansi --no-interaction --no-progress --prefer-dist
Run_linters:
needs: Prepare_environment
runs-on: ubuntu-latest
container:
image: mkoding/tfg-project:latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Prepare environment file
run: cp .env.ci .env
- name: Cache composer
uses: actions/cache@v3
id: composer-cache
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}-${{ hashFiles('composer.json') }}
- name: Install composer dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: Composer dump autoload
run: composer dump-autoload
- name: Generate artisan key
run: php artisan key:generate --ansi
- name: Run linters
run: ./scripts/linters.sh
- name: Generate Doctrine Proxies
run: php artisan doctrine:generate:proxies
Run_unit_tests:
needs: Prepare_environment
runs-on: ubuntu-latest
container:
image: mkoding/tfg-project:latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Prepare environment file
run: cp .env.ci .env
- name: Cache composer
uses: actions/cache@v3
id: composer-cache
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}-${{ hashFiles('composer.json') }}
- name: Install composer dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: Composer dump autoload
run: composer dump-autoload
- name: Generate artisan key
run: php artisan key:generate --ansi
- name: Run unit tests
run: vendor/bin/paratest -c phpunit_unit.xml --runner=WrapperRunner
Run_integration_tests:
needs: Prepare_environment
runs-on: ubuntu-latest
container:
image: mkoding/tfg-project:latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Prepare environment file
run: cp .env.ci .env
- name: Cache composer
uses: actions/cache@v3
id: composer-cache
with:
path: vendor
key: ${{ runner.os }}-composer-${{ hashFiles('composer.lock') }}-${{ hashFiles('composer.json') }}
- name: Install composer dependencies
if: steps.composer-cache.outputs.cache-hit != 'true'
run: composer install --no-ansi --no-interaction --no-scripts --no-suggest --no-progress --prefer-dist
- name: Composer dump autoload
run: composer dump-autoload
- name: Generate artisan key
run: php artisan key:generate --ansi
- name: Clear integration tests caches
run: php artisan optimize:clear --env=ci
- name: Run integration tests
run: vendor/bin/paratest -c phpunit_integration.xml --runner=WrapperRunner