# This is a basic workflow to help you get started with Actions name: magento on: push: branches: - '**' tags-ignore: - '*.*' pull_request: jobs: test: runs-on: ubuntu-latest strategy: matrix: include: - php-version: '7.0' branch: '2.0.2' coverage: 1 - php-version: '7.0' branch: '2.0.4' - php-version: '7.0' branch: '2.0.5' - php-version: '7.0' branch: '2.0.6' - php-version: '7.0' branch: '2.0.7' - php-version: '7.0' branch: '2.0.8' - php-version: '7.0' branch: '2.0.9' - php-version: '7.0' branch: '2.0.10' - php-version: '7.0' branch: '2.0.11' - php-version: '7.0' branch: '2.0.12' - php-version: '7.0' branch: '2.0.13' - php-version: '7.0' branch: '2.0.14' - php-version: '7.0' branch: '2.0.15' - php-version: '7.0' branch: '2.0.16' - php-version: '7.0' branch: '2.0.17' - php-version: '7.0' branch: '2.0.18' - php-version: '7.0' branch: '2.1.0' - php-version: '7.0' branch: '2.1.1' - php-version: '7.0' branch: '2.1.2' - php-version: '7.0' branch: '2.1.3' - php-version: '7.0' branch: '2.1.4' - php-version: '7.0' branch: '2.1.5' - php-version: '7.0' branch: '2.1.6' - php-version: '7.0' branch: '2.1.7' - php-version: '7.0' branch: '2.1.8' - php-version: '7.0' branch: '2.1.9' - php-version: '7.0' branch: '2.1.10' - php-version: '7.0' branch: '2.1.11' - php-version: '7.0' branch: '2.1.12' - php-version: '7.0' branch: '2.1.13' - php-version: '7.0' branch: '2.1.14' - php-version: '7.0' branch: '2.1.15' - php-version: '7.0' branch: '2.1.16' - php-version: '7.1' branch: '2.1.16' - php-version: '7.0' branch: '2.1.17' - php-version: '7.1' branch: '2.1.17' - php-version: '7.0' branch: '2.1.18' - php-version: '7.1' branch: '2.1.18' - php-version: '7.0' branch: '2.2.0' - php-version: '7.1' branch: '2.2.0' - php-version: '7.0' branch: '2.2.1' - php-version: '7.1' branch: '2.2.1' - php-version: '7.0' branch: '2.2.2' - php-version: '7.1' branch: '2.2.2' - php-version: '7.0' branch: '2.2.3' - php-version: '7.1' branch: '2.2.3' - php-version: '7.0' branch: '2.2.4' - php-version: '7.1' branch: '2.2.4' - php-version: '7.0' branch: '2.2.5' - php-version: '7.1' branch: '2.2.5' - php-version: '7.0' branch: '2.2.6' - php-version: '7.1' branch: '2.2.6' - php-version: '7.0' branch: '2.2.7' - php-version: '7.1' branch: '2.2.7' - php-version: '7.0' branch: '2.2.8' - php-version: '7.1' branch: '2.2.8' - php-version: '7.0' branch: '2.2.9' - php-version: '7.1' branch: '2.2.9' - php-version: '7.0' branch: '2.2.10' - php-version: '7.1' branch: '2.2.10' services: mysql: image: mysql:5.7 env: MYSQL_ROOT_PASSWORD: root ports: - 3306/tcp options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=5 steps: - uses: actions/checkout@v2 - name: Setup PHP ${{ matrix.php-version }} uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php-version }} coverage: xdebug tools: composer:v1, phpunit:6.4.3 extensions: gd, mbstring, zip, mcrypt, pdo_mysql, dom, soap, bcmath - name: Start mysql service run: sudo /etc/init.d/mysql start - name: Status mysql service run: sudo systemctl status mysql - name: Install Magento env: BRANCH: ${{ matrix.branch }} PUBLIC_KEY: ${{ secrets.PUBLIC_KEY}} PRIVATE_KEY: ${{ secrets.PRIVATE_KEY}} run: make before_script - name: Run tests run: make test - name: Coverage env: COVERAGE: ${{ matrix.coverage }} if: env.COVERAGE == 1 run: | make coverage bash <(curl -s https://codecov.io/bash) deploy: needs: ['test'] if: success() && github.event_name == 'push' && github.repository_owner == 'retailcrm' && github.ref == 'refs/heads/master' runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup PHP 7.2 uses: shivammathur/setup-php@v2 with: php-version: '7.2' tools: composer:v1 - name: Build release run: | git fetch origin --unshallow --tags export LAST_TAG=`git describe --abbrev=0 --tags` export VERSION=`cat VERSION` export ARCHIVE_NAME=retailcrm-$VERSION.ocmod.zip export ARCHIVE_PATH="/tmp/$ARCHIVE_NAME" export RELEASE_TAG=v$VERSION export LAST_COMMIT=`git log --oneline --format=%B -n 1 HEAD | head -n 1` echo RELEASE_TAG=$RELEASE_TAG >> $GITHUB_ENV echo LAST_TAG=$LAST_TAG >> $GITHUB_ENV echo LAST_COMMIT=$LAST_COMMIT >> $GITHUB_ENV echo ARCHIVE_PATH=$ARCHIVE_PATH >> $GITHUB_ENV echo ARCHIVE_NAME=$ARCHIVE_NAME >> $GITHUB_ENV make build_archive - name: Create Release id: create_release uses: actions/create-release@v1 if: env.LAST_TAG != env.RELEASE_TAG env: GITHUB_TOKEN: ${{ secrets.TOKEN }} with: tag_name: ${{ env.RELEASE_TAG }} release_name: ${{ env.RELEASE_TAG }} body: ${{ env.LAST_COMMIT }} draft: false prerelease: false - name: Cleanup if: env.LAST_TAG != env.RELEASE_TAG run: make delete_archive