[CI] Setup CI for v11.x branch to be enable to do 11.x releases #1253
Workflow file for this run
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: Acceptance Tests | |
on: | |
pull_request: | |
branches: | |
- "**" | |
push: | |
branches: | |
- "v11.x" | |
jobs: | |
Acceptance: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
typo3: [ ^10.4, ^11.5 ] | |
php: [ '7.4' ] | |
include: | |
- typo3: ^11.5 | |
php: '8.0' | |
- typo3: ^11.5 | |
php: '8.1' | |
steps: | |
- name: Get branch name (merge) | |
if: github.event_name != 'pull_request' | |
shell: bash | |
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV | |
- name: Get branch name (pull request) | |
if: github.event_name == 'pull_request' | |
shell: bash | |
run: echo "BRANCH_NAME=$(echo ${GITHUB_HEAD_REF})" >> $GITHUB_ENV | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.4' | |
- name: Version information | |
run: | | |
php -v | |
composer --version | |
- uses: actions/checkout@v1 | |
- uses: jonaseberle/github-action-setup-ddev@v1 | |
with: | |
ddevDir: ".devbox" | |
- name: CodeCeption | |
run: | | |
export FROM_PATH='../../' | |
export TO_PATH=$(echo $GITHUB_WORKSPACE) | |
cd .devbox | |
sed -i 's/php_version: "7.4"/php_version: "${{ matrix.php }}"/g' .ddev/config.yaml | |
sed -i "s|$FROM_PATH|$TO_PATH|g" .ddev/docker-compose.volume.yaml | |
rm -rf vendor composer.lock | |
ddev composer require nimut/typo3-complete=${{ matrix.typo3 }} | |
ddev start | |
ddev exec sudo apt remove -y php${{ matrix.php }}-uploadprogress | |
ddev exec bin/typo3cms install:fixfolderstructure | |
ddev exec bin/typo3cms install:extensionsetupifpossible | |
ddev exec bin/typo3cms database:updateschema | |
ddev exec bin/typo3cms cache:flush | |
cd .. # Going back to "root" directory | |
rm -rf .Build composer.lock | |
composer require nimut/typo3-complete=${{ matrix.typo3 }} | |
wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh | |
chmod +x wait-for-it.sh | |
docker ps | |
./wait-for-it.sh -t 60 127.0.0.1:80 | |
./wait-for-it.sh -t 60 127.0.0.1:443 | |
./wait-for-it.sh -t 60 localhost:4444 | |
php .Build/bin/codecept run | |
- name: Database Dump | |
if: ${{ failure() }} | |
run: | | |
cd .devbox | |
ddev export-db --gzip=false --file=../Tests/Acceptance/_output/db.sql | |
- name: Upload Codeception output | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: codeception-results | |
path: Tests/Acceptance/_output/ | |
- uses: shallwefootball/s3-upload-action@master | |
if: ${{ failure() }} | |
with: | |
aws_key_id: ${{ secrets.AWS_KEY_ID }} | |
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} | |
aws_bucket: ${{ secrets.AWS_BUCKET }} | |
source_dir: 'Tests/Acceptance/_output/' | |
destination_dir: '${{ matrix.typo3 }}-${{ matrix.php }}' | |
NonComposer: | |
runs-on: self-hosted | |
strategy: | |
fail-fast: false | |
matrix: | |
typo3: [ 'v10', 'v11', 'v11p80' ] | |
steps: | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '7.4' | |
tools: composer:v2 | |
- name: Version information | |
run: | | |
php -v | |
composer --version | |
- uses: actions/checkout@v1 | |
- run: | | |
cd .devbox/.ddev | |
docker-compose -f docker-compose.selenium.yaml up -d | |
cd ../.. # Going back to "root" directory | |
rm -rf .Build composer.lock | |
composer require nimut/typo3-complete:^11.5 | |
wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh | |
chmod +x wait-for-it.sh | |
docker ps | |
./wait-for-it.sh -t 60 localhost:4444 | |
php .Build/bin/codecept run --env=${{ matrix.typo3 }}-non-composer | |
- name: Upload Codeception output | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v2 | |
with: | |
name: codeception-results | |
path: Tests/Acceptance/_output/ | |
- uses: shallwefootball/s3-upload-action@master | |
if: ${{ failure() }} | |
with: | |
aws_key_id: ${{ secrets.AWS_KEY_ID }} | |
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY}} | |
aws_bucket: ${{ secrets.AWS_BUCKET }} | |
source_dir: 'Tests/Acceptance/_output/' | |
destination_dir: '${{ matrix.typo3 }}-non-composer' |