shipping generation improvements #160
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: Static Test | |
on: | |
workflow_dispatch: | |
pull_request: | |
branches: | |
- v1 | |
push: | |
tags: | |
- "*" | |
branches: | |
- v1 | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
php-versions: | |
- "8.1" | |
- "8.2" | |
- "8.3" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup PHP, with composer and extensions | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-versions }} | |
extensions: mbstring, xml, ctype, iconv, intl, mysql | |
- name: Get composer cache directory | |
id: composer-cache | |
run: echo "::set-output name=dir::$(composer config cache-files-dir)" | |
- name: Cache composer dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ steps.composer-cache.outputs.dir }} | |
key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} | |
restore-keys: ${{ runner.os }}-composer- | |
- run: composer self-update --2 | |
- name: Install Composer dependencies | |
run: composer install --no-progress --prefer-dist --optimize-autoloader | |
- run: php vendor/bin/phpcs --config-set ignore_warnings_on_exit 1 | |
- run: php vendor/bin/phpcs --config-set show_warnings 0 | |
- name: Info | |
run: composer info | |
- name: Run Tests | |
run: php vendor/bin/grumphp run # -vvv | |
- name: Install Composer dependencies without dev | |
run: rm -fR vendor && composer install --no-progress --prefer-dist --optimize-autoloader --no-dev | |
if: matrix.php-versions == '8.1' | |
- name: Compile phar | |
run: wget https://github.com/box-project/box/releases/download/4.5.1/box.phar && php box.phar compile | |
if: matrix.php-versions == '8.1' | |
# - name: Compile Result | |
# run: ls -lah | |
# if: matrix.php-versions == '8.1' | |
- name: Compile Result Upload | |
if: matrix.php-versions == '8.1' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: jeeves_new.phar | |
path: jeeves.phar | |
test: | |
runs-on: ubuntu-latest | |
needs: ["build"] | |
strategy: | |
fail-fast: false | |
matrix: | |
php-versions: | |
- "8.1" | |
- "8.2" | |
- "8.3" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: jeeves_new.phar | |
- name: Setup PHP, with composer and extensions | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: ${{ matrix.php-versions }} | |
extensions: mbstring, xml, ctype, iconv, intl, mysql | |
- name: Prepare test | |
run: mv .jeeves.phpunit_v1.yaml .jeeves.yaml | |
- name: Test phar | |
run: php jeeves.phar generate | |
release: | |
runs-on: ubuntu-latest | |
needs: ["test"] | |
if: startsWith(github.ref, 'refs/tags/') | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: jeeves_new.phar | |
- name: Upload to Releases | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: jeeves.phar | |
token: ${{ secrets.token }} |