printshopcreator/.gitea/workflows/run_tests.yaml
Thomas Peterson 5b889c2d38
Some checks failed
Gitea Actions / Run-Tests-On-Arm64 (push) Successful in 8m15s
Gitea Actions / Run-Tests-On-Amd64 (push) Successful in 24m1s
Gitea Actions / Merge (push) Failing after 1s
Fixes
2025-05-27 15:23:51 +02:00

144 lines
5.8 KiB
YAML

name: Gitea Actions
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on: [push]
jobs:
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=ci TAG=latest"
make docker-compose-init-test
- 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: Run Server
run: |
make docker-compose-up
- name: Run Tests
run: |
make test
- name: Init PROD
run: |
make make-init ENVS="ENV=prod TAG=2.2-amd64"
make docker-compose-init
- 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 }}."
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=ci TAG=latest"
make docker-compose-init-test
- 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: Run Server
run: |
make docker-compose-up
- name: Run Tests
run: |
make test
- name: Init PROD
run: |
make make-init ENVS="ENV=prod TAG=2.2-arm64v8"
make docker-compose-init
- 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:
- Run-Tests-On-Amd64
- Run-Tests-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/printshopcreator/docker/php-fpm-prod:2.2 --amend registry.thomas-peterson.de/printshopcreator/docker/php-fpm-prod:2.2-amd64 --amend registry.thomas-peterson.de/printshopcreator/docker/php-fpm-prod:2.2-arm64v8
docker manifest push registry.thomas-peterson.de/printshopcreator/docker/php-fpm-prod:2.2
docker manifest create registry.thomas-peterson.de/printshopcreator/docker/php-cron-prod:2.2 --amend registry.thomas-peterson.de/printshopcreator/docker/php-cron-prod:2.2-amd64 --amend registry.thomas-peterson.de/printshopcreator/docker/php-cron-prod:2.2-arm64v8
docker manifest push registry.thomas-peterson.de/printshopcreator/docker/php-cron-prod:2.2
docker manifest create registry.thomas-peterson.de/printshopcreator/docker/web-prod:2.2 --amend registry.thomas-peterson.de/printshopcreator/docker/web-prod:2.2-amd64 --amend registry.thomas-peterson.de/printshopcreator/docker/web-prod:2.2-arm64v8
docker manifest push registry.thomas-peterson.de/printshopcreator/docker/web-prod:2.2