You've already forked php-auth
generated from siteworxpro/Php-Template
Initial commit
This commit is contained in:
79
.gitea/workflows/build.yml
Normal file
79
.gitea/workflows/build.yml
Normal file
@@ -0,0 +1,79 @@
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- "v*"
|
||||
|
||||
name: 🏗️✨ Build Workflow
|
||||
|
||||
jobs:
|
||||
Build:
|
||||
name: 🖥️ 🔨 Build
|
||||
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: Write Version File
|
||||
run: |
|
||||
echo $GITEA_REF_NAME > VERSION
|
||||
sed -i "s/dev-version/${GITEA_REF_NAME}/g" src/Helpers/Version.php
|
||||
|
||||
|
||||
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 🐳 🔨 Build Container
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64,linux/arm64
|
||||
dockerfile: Dockerfile
|
||||
tags: siteworxpro/template:${{ gitea.ref_name }}
|
||||
|
||||
Build-Migrations:
|
||||
needs:
|
||||
- Build
|
||||
name: 🖥️ 🔨 Build 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: 🔑 🔐 Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||
|
||||
- name: 📖 🔍 Checkout Repository Code
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 1
|
||||
|
||||
- name: 🏗️ 🔧 Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
- name: 🐳 🔨 Build Migrations Container
|
||||
uses: docker/build-push-action@v6
|
||||
with:
|
||||
platforms: linux/amd64,linux/arm64
|
||||
sbom: true
|
||||
provenance: true
|
||||
context: .
|
||||
file: migrations.Dockerfile
|
||||
tags: siteworxpro/template:${{ gitea.ref_name }}-migrations
|
||||
268
.gitea/workflows/tests.yml
Normal file
268
.gitea/workflows/tests.yml
Normal file
@@ -0,0 +1,268 @@
|
||||
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
|
||||
Reference in New Issue
Block a user