-
-
Save rubenvanassche/4fa2a9ab58454e77ba8a457941ffc0c5 to your computer and use it in GitHub Desktop.
name: Tests (PHP) | |
on: [push] | |
jobs: | |
tests: | |
name: Run tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Cache composer dependencies | |
uses: actions/cache@v1 | |
with: | |
path: vendor | |
key: composer-${{ hashFiles('composer.lock') }} | |
- name: Run composer install | |
run: composer install -n --prefer-dist | |
env: | |
APP_ENV: testing | |
- name: Prepare Laravel Application | |
run: | | |
cp .env.example .env | |
php artisan key:generate | |
- name: Cache yarn dependencies | |
uses: actions/cache@v1 | |
with: | |
path: node_modules | |
key: yarn-${{ hashFiles('yarn.lock') }} | |
- name: Run yarn | |
run: yarn && yarn dev | |
- name: Run tests | |
run: ./vendor/bin/phpunit | |
env: | |
APP_ENV: testing | |
- name: Upload artifacts | |
uses: actions/upload-artifact@master | |
if: failure() | |
with: | |
name: Logs | |
path: ./storage/logs |
What happens if you change yarn && yarn dev
to yarn install && yarn dev
, does it still crash?
Your yarn cache step is before (yarn && yarn dev) in your .yml file.
So changing it to yarn install && yarn dev didn't make a difference
Putting yarn && yarn dev step before the yarn cache step does make it work.
@rubenvanassche Thanks for this. what if I want to import a sql dump file into the just created db before running the tests.
In a scenerio where by my migrations (are not complete) eg I first need to import an already exported sql database first, before running the migrations.
How do I go about this ?
Hi @ossycodes,
I would create another step before the launching of the Laravel application where you import the sql file into the database: https://stackoverflow.com/questions/17666249/how-do-i-import-an-sql-file-using-the-command-line-in-mysql
Didn't happen for me. In Github action console I get
##[error]The template is not valid. hashFiles('/home/runner/work/project-name/project-name/yarn.lock') failed. Search pattern '/home/runner/work/project-name/project-name/yarn.lock' doesn't match any file under '/home/runner/work/project-name/project-name'
The error disappeared after I add a yarn install step before yarn cache