Process Artisan Commands #255
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: Process Artisan Commands | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
schedule: | |
- cron: '0 0 * * 3' | |
jobs: | |
prepare: | |
name: Prepare manifest file | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
laravel: [6, 7, 8, 9, 10] | |
steps: | |
- name: Check out source code | |
uses: actions/checkout@v3 | |
# - name: Import packages | |
# id: set-packages | |
# run: | | |
# packages=`cat ${{ github.workspace }}/manifest.json | jq --compact-output '. | {packages: (.packages | join(" "))}'` | |
# echo $packages | |
# echo "::set-output name=packages::$packages" | |
commands: | |
needs: prepare | |
name: Laravel Version ${{ matrix.laravel }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php: [7.4] | |
laravel: [6, 7, 8] | |
include: | |
- php: '8.0' | |
laravel: 9 | |
- php: '8.1' | |
laravel: 10 | |
steps: | |
- name: Check out source code | |
uses: actions/checkout@v3 | |
- name: Setup PHP, with Composer and extensions | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php }} | |
extensions: dom, curl, libxml, mbstring, zip | |
tools: composer:v2 | |
- name: Install Laravel | |
run: composer create-project --no-progress laravel/laravel="^${{ matrix.laravel }}" /tmp/laravel | |
# - name: Install Laravel packages | |
# run: | | |
# cd /tmp/laravel | |
# composer require --no-progress --no-interaction --ignore-platform-reqs ${{fromJson(needs.prepare.outputs.packages).packages}} | |
# continue-on-error: true | |
- name: Build Generator Command | |
run: | | |
cd /tmp/laravel | |
cat ${{ github.workspace }}/build | php artisan tinker > /tmp/${{ matrix.laravel }}.x.json | true | |
- name: Configure Git Name | |
run: git config --global user.name ${GITHUB_ACTOR} | |
- name: Configure Git Email | |
run: git config --global user.email ${GITHUB_ACTOR}@users.noreply.github.com | |
- name: Commit comand files if needed #it fails if nothing has changed so we allow an error | |
run: | | |
n=0 | |
until [ "$n" -ge 10 ] | |
do | |
git fetch --all | |
git reset --hard HEAD | |
git clean -f -d | |
git pull || true | |
cp /tmp/${{ matrix.laravel }}.x.json ./assets/ | |
git add -A || true | |
git commit -am 'Build Laravel version v${{ matrix.laravel }}' || true | |
git push --force && break | |
n=$((n+1)) | |
sleep 15 | |
done | |
continue-on-error: true |