diff --git a/.gitea/workflows/run_tests.yaml b/.gitea/workflows/run_tests.yaml index 0118bfb90..c3936833f 100644 --- a/.gitea/workflows/run_tests.yaml +++ b/.gitea/workflows/run_tests.yaml @@ -105,3 +105,115 @@ jobs: run: | make docker-compose-clean - run: echo "🍏 This job's status is ${{ job.status }}." + Build-On-Amd64: + dependsOn: + - Run-Tests-On-Amd64 + runs-on: amd64 + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" + - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: Clean Up + run: | + if [[ $(docker ps -q|wc -l) -gt 0 ]] + then + docker ps -aq | xargs docker rm -f + fi + #docker system prune -af --volumes + - name: Init + run: | + make make-init ENVS="ENV=prod TAG=2.2-amd64" + make docker-compose-init + - name: Build Application Image + run: | + make docker-compose-build DOCKER_SERVICE_NAME=application + - name: Run Application Image + run: | + make docker-compose-up DOCKER_SERVICE_NAME=application + - name: Run Composer Install + run: | + chmod -R 0777 src/new + make composer ARGS="install" + - name: Run Assets Install and Build + run: | + make console ARGS="importmap:install" + make console ARGS="asset-map:compile" + - name: Generate Token + run: | + make console ARGS="lexik:jwt:generate-keypair" + - name: Build Images + run: | + make docker-compose-build + - name: Push Images + run: | + make docker-compose-push + - name: Clean Up + run: | + make docker-compose-clean + - run: echo "🍏 This job's status is ${{ job.status }}." + Build-On-Arm64: + dependsOn: + - Run-Tests-On-Arm64 + runs-on: arm64 + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!" + - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}." + - name: Check out repository code + uses: actions/checkout@v4 + - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + - name: Clean Up + run: | + if [[ $(docker ps -q|wc -l) -gt 0 ]] + then + docker ps -aq | xargs docker rm -f + fi + #docker system prune -af --volumes + - name: Init + run: | + make make-init ENVS="ENV=prod TAG=2.2-arm64v8" + make docker-compose-init + - name: Build Application Image + run: | + make docker-compose-build DOCKER_SERVICE_NAME=application + - name: Run Application Image + run: | + make docker-compose-up DOCKER_SERVICE_NAME=application + - name: Run Composer Install + run: | + chmod -R 0777 src/new + make composer ARGS="install" + - name: Run Assets Install and Build + run: | + make console ARGS="importmap:install" + make console ARGS="asset-map:compile" + - name: Generate Token + run: | + make console ARGS="lexik:jwt:generate-keypair" + - name: Build Images + run: | + make docker-compose-build + - name: Push Images + run: | + make docker-compose-push + - name: Clean Up + run: | + make docker-compose-clean + - run: echo "🍏 This job's status is ${{ job.status }}." + Merge: + runs-on: amd64 + dependsOn: + - Build-On-Amd64 + - Build-On-Arm64 + steps: + - name: Merge Images and Push + run: | + docker pull registry.thomas-peterson.de/php-fpm-prod:2.2-amd64 + docker pull registry.thomas-peterson.de/php-fpm-prod:2.2-arm64v8 + docker manifest create registry.thomas-peterson.de/php-fpm-prod:2.2 --amend registry.thomas-peterson.de/php-fpm-prod:2.2-amd64 --amend registry.thomas-peterson.de/php-fpm-prod:2.2-arm64v8 + docker manifest push registry.thomas-peterson.de/php-fpm-prod:2.2