-
-
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 |
Normally yarn should do a yarn install so yarn && yarn dev does an install + asset generation
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
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
Think you are missing a yarn install before yarn cache.