Skip to content

PIPRES-459: Github workflow improvements #1718

PIPRES-459: Github workflow improvements

PIPRES-459: Github workflow improvements #1718

Workflow file for this run

name: Tests
on:
pull_request:
branches:
- '**'
push:
branches:
- 'master'
jobs:
php-cs-fixer:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Run PHP-CS-Fixer
uses: prestashopcorp/github-action-php-cs-fixer@master
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Cache composer folder
uses: actions/cache@v1
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer i
- name: Pull PrestaShop files
run: docker run -tid --rm -v ps-volume:/var/www/html -v $PWD/:/var/www/html/modules/mollie --name temp-ps prestashop/prestashop:1.7.8.1-7.4-apache
- name: Run PHPunit
run: docker exec temp-ps php /var/www/html/modules/mollie/vendor/bin/phpunit -c /var/www/html/modules/mollie/tests/phpunit.xml
# run: docker run --rm --volumes-from temp-ps --workdir=/var/www/html/modules/mollie php ./vendor/bin/phpunit -c ./tests/phpunit.xml -c tests/
phpstan:
name: PHPStan
runs-on: ubuntu-latest
strategy:
matrix:
presta-versions: [ '1.7.6.8', '1.7.7.0', 'nightly-apache' ]
steps:
- name: Checkout
uses: actions/checkout@v2.0.0
- name: Cache vendor folder
uses: actions/cache@v1
with:
path: vendor
key: php-${{ hashFiles('composer.lock') }}
- name: Cache composer folder
uses: actions/cache@v1
with:
path: ~/.composer/cache
key: php-composer-cache
- run: composer update
- name: Pull PrestaShop files (Tag ${{ matrix.presta-versions }})
run: docker run -tid --rm -v ps-volume:/var/www/html --name temp-ps prestashop/prestashop:${{ matrix.presta-versions }}
- name: Run PHPStan
run: docker run --rm --volumes-from temp-ps -v $PWD:/web/module -e _PS_ROOT_DIR_=/var/www/html --workdir=/web/module phpstan/phpstan:0.12 analyse --configuration=/web/module/tests/phpstan/phpstan_base.neon --debug --error-format github
prepare-zip:
name: Prepare module ZIP artifact
runs-on: ubuntu-latest
needs: [ test ]
env:
MODULE_NAME: mollie
steps:
# todo ask for permissions to add cancel previous workflow action
- name: checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build module ZIP
run: |
composer install --no-dev --optimize-autoloader --classmap-authoritative
composer dump-autoload --no-dev --optimize --classmap-authoritative
rm -rf .git .github tests .php-cs-fixer.php Makefile cypress* docker-compose*.yml package.json package-lock.json .docker
mkdir ${{ env.MODULE_NAME }}
rsync -Rr ./ ./${{ env.MODULE_NAME }}
shopt -s extglob
rm -r !(${{ env.MODULE_NAME }})
find . -maxdepth 1 -type f -exec rm "{}" \;
cd ${{ env.MODULE_NAME }} && rm -rf ${{ env.MODULE_NAME }}
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: ${{ env.MODULE_NAME }}
path: ./