name: Build on: push: branches: [ 'main' ] paths-ignore: - '**.md' - '.gitea/workflows/release.yml' - 'renovate.json' workflow_dispatch: env: PHP_VERSION: '8.3' # set this to the PHP version to use COMPOSER_ALLOW_SUPERUSER: 1 permissions: contents: read jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup PHP uses: shivammathur/setup-php@7c0b4c8c8ebed23eca9ec2802474895d105b11bc with: php-version: ${{ env.PHP_VERSION }} - name: Check if composer.json exists id: check_files uses: andstor/file-existence-action@87d74d4732ddb824259d80c8a508c0124bf1c673 with: files: 'composer.json' - name: Run composer install if composer.json exists if: steps.check_files.outputs.files_exists == 'true' run: | composer validate --no-check-publish && composer install --prefer-dist --no-progress --ignore-platform-reqs tar -czf typo3.tar.gz bin public packages config vendor build composer.json composer.lock - uses: actions/upload-artifact@v3 with: name: typo3 path: typo3.tar.gz deploy-stage: runs-on: ubuntu-latest steps: - name: Setup PHP uses: shivammathur/setup-php@7c0b4c8c8ebed23eca9ec2802474895d105b11bc with: php-version: ${{ env.PHP_VERSION }} - uses: actions/download-artifact@v3 with: name: typo3 - name: Extract artifact run: | tar xf typo3.tar.gz rm typo3.tar.gz - name: Install ssh agent and rsync run: | apt update apt install -y openssh-client rsync - name: Upload release uses: deployphp/action@v1 with: deployer-binary: "./bin/dep" dep: --file=./build/deploy.php release:create stage private-key: ${{secrets.STAGE_KEY}} switch-stage: runs-on: ubuntu-latest steps: - name: Setup PHP uses: shivammathur/setup-php@7c0b4c8c8ebed23eca9ec2802474895d105b11bc with: php-version: ${{ env.PHP_VERSION }} - uses: actions/download-artifact@v3 with: name: typo3 - name: Extract artifact run: | tar xf typo3.tar.gz rm typo3.tar.gz - name: Install ssh agent and rsync run: | apt update apt install -y openssh-client rsync - name: Switch to release uses: deployphp/action@v1 with: deployer-binary: "./bin/dep" dep: --file=./build/deploy.php release:switch stage private-key: ${{secrets.STAGE_KEY}} # deploy-production: # runs-on: ubuntu-latest # steps: # - name: Setup PHP # uses: shivammathur/setup-php@7c0b4c8c8ebed23eca9ec2802474895d105b11bc # with: # php-version: ${{ env.PHP_VERSION }} # - uses: actions/download-artifact@v3 # with: # name: typo3 # - name: Extract artifact # run: | # tar xf typo3.tar.gz # rm typo3.tar.gz # - name: Install ssh agent and rsync # run: | # apt update # apt install -y openssh-client rsync # - name: Deploy # uses: deployphp/action@v1 # with: # deployer-binary: "./bin/dep" # dep: --file=./build/deploy.php release:create production # private-key: ${{secrets.PROD_KEY}}