You've already forked Php-Template
All checks were successful
🧪✨ Tests Workflow / 📝 ✨ Code Lint (push) Successful in 4m4s
🧪✨ Tests Workflow / 🛡️ 🔒 Library Audit (push) Successful in 4m15s
🧪✨ Tests Workflow / 🛡️ 🔒 License Check (push) Successful in 4m40s
🧪✨ Tests Workflow / 🧪 ✨ Database Migrations (push) Successful in 4m52s
🧪✨ Tests Workflow / 🐙 🔍 Code Sniffer (push) Successful in 4m43s
🧪✨ Tests Workflow / 🧪 ✅ Unit Tests (push) Successful in 3m9s
🏗️✨ Build Workflow / 🖥️ 🔨 Build (push) Successful in 17m11s
🏗️✨ Build Workflow / 🖥️ 🔨 Build Migrations (push) Successful in 2m47s
268 lines
8.9 KiB
YAML
268 lines
8.9 KiB
YAML
on:
|
|
push:
|
|
branches:
|
|
- "**"
|
|
|
|
name: 🧪✨ Tests Workflow
|
|
|
|
jobs:
|
|
|
|
DatabaseMigrations:
|
|
name: 🧪 ✨ Database Migrations
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
|
run: |
|
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
|
update-ca-certificates
|
|
|
|
- name: 📖 🔍 Checkout Repository Code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: 🔑 🔐 Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: 🏎️ 🏁 Start Support Containers
|
|
run: |
|
|
echo "Starting Support Containers"
|
|
docker run --rm \
|
|
--network "${{ env.JOB_CONTAINER_NAME }}-${{ gitea.job }}-network" \
|
|
--name ${{ gitea.job }}-${{ gitea.run_id }}-postgres \
|
|
-e POSTGRES_USER=postgres \
|
|
-e POSTGRES_PASSWORD=postgres \
|
|
-e POSTGRES_DB=postgres \
|
|
-p 5432 \
|
|
-d postgres:18
|
|
|
|
echo "Waiting for Postgres to start"
|
|
sleep 10
|
|
|
|
- name: 💽 ⬆️ Run Migrations
|
|
run: |
|
|
docker run \
|
|
--name ${{ gitea.run_id }}-migrate \
|
|
--rm \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
--network "${{ env.JOB_CONTAINER_NAME }}-${{ gitea.job }}-network" \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/migrate:v4.18.3 -database "postgres://postgres:postgres@${{ gitea.job }}-${{ gitea.run_id }}-postgres:5432/postgres?sslmode=disable" -path db/migrations up
|
|
|
|
- name: 💽 ⬇️ Rollback Migrations
|
|
run: |
|
|
docker run \
|
|
--name ${{ gitea.run_id }}-migrate \
|
|
--rm \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
--network "${{ env.JOB_CONTAINER_NAME }}-${{ gitea.job }}-network" \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/migrate:v4.18.3 -database "postgres://postgres:postgres@${{ gitea.job }}-${{ gitea.run_id }}-postgres:5432/postgres?sslmode=disable" -path db/migrations down --all
|
|
|
|
- name: 🧨 💥 Tear Down Support Containers
|
|
if: always()
|
|
run: |
|
|
docker stop ${{ gitea.job }}-${{ gitea.run_id }}-postgres
|
|
|
|
LibraryAudit:
|
|
name: 🛡️ 🔒 Library Audit
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
|
run: |
|
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
|
update-ca-certificates
|
|
|
|
- name: 📖 🔍 Checkout Repository Code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: 🔑 🔐 Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: 📖 ✨ Install Composer Libraries
|
|
run: |
|
|
docker run --rm \
|
|
-v composer-cache:/tmp/cache \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
|
|
|
|
- name: Run Library Audit
|
|
run: |
|
|
docker run --rm \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
audit
|
|
|
|
LicenseCheck:
|
|
name: 🛡️ 🔒 License Check
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
|
run: |
|
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
|
update-ca-certificates
|
|
|
|
- name: 📖 🔍 Checkout Repository Code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: 🔑 🔐 Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: 📖 ✨ Install Composer Libraries
|
|
run: |
|
|
docker run --rm \
|
|
-v composer-cache:/tmp/cache \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
|
|
|
|
- name: 🎟️ 🔬 Run License Check
|
|
run: |
|
|
docker run --rm \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
run tests:license
|
|
|
|
CodeLint:
|
|
name: 📝 ✨ Code Lint
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
|
run: |
|
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
|
update-ca-certificates
|
|
|
|
- name: 📖 🔍 Checkout Repository Code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: 🔑 🔐 Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: 📖 ✨ Install Composer Libraries
|
|
run: |
|
|
docker run --rm \
|
|
-v composer-cache:/tmp/cache \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
|
|
|
|
- name: Run Code Lint
|
|
run: |
|
|
docker run --rm \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
run tests:lint
|
|
|
|
CodeSniffer:
|
|
name: 🐙 🔍 Code Sniffer
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
|
run: |
|
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
|
update-ca-certificates
|
|
|
|
- name: 📖 🔍 Checkout Repository Code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: 🔑 🔐 Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: 📖 ✨ Install Composer Libraries
|
|
run: |
|
|
docker run --rm \
|
|
-v composer-cache:/tmp/cache \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
|
|
|
|
- name: Run Code Sniffer
|
|
run: |
|
|
docker run --rm \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
run tests:phpstan
|
|
|
|
UnitTests:
|
|
name: 🧪 ✅ Unit Tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: 🛡️ 🔒 Add Siteworx CA Certificates
|
|
run: |
|
|
curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt
|
|
update-ca-certificates
|
|
|
|
- name: 📖 🔍 Checkout Repository Code
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 1
|
|
|
|
- name: 🔑 🔐 Login to Docker Hub
|
|
uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: 📖 ✨ Install Composer Libraries
|
|
run: |
|
|
docker run --rm \
|
|
-v composer-cache:/tmp/cache \
|
|
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
|
|
-w ${{ github.workspace }} \
|
|
siteworxpro/composer \
|
|
install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
|
|
|
|
- name: 🧪 ✅ Run Unit Tests
|
|
uses: addnab/docker-run-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
image: siteworxpro/composer
|
|
options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} -w ${{ gitea.workspace }}
|
|
run: |
|
|
bin/pcov.sh
|
|
composer run tests:unit:coverage
|
|
|
|
# - name: 📦 Publish Build Artifacts
|
|
# env:
|
|
# NODE_TLS_REJECT_UNAUTHORIZED: 0
|
|
# uses: christopherhx/gitea-upload-artifact@v4
|
|
# with:
|
|
# options: --volumes-from ${{ env.JOB_CONTAINER_NAME }} -w ${{ gitea.workspace }}
|
|
# name: junit-coverage.xml
|
|
# path: tests/reports/junit.xml
|
|
# retention-days: 1 |