Files
Php-Template/.gitea/workflows/tests.yml

162 lines
5.0 KiB
YAML

on:
push: {}
name: 🧪✨ Tests Workflow
jobs:
# LicenseCheck:
# name: License Check
# runs-on: ubuntu-latest
# steps:
#
# - name: Fetch Siteworxpro Certificate
# run: |
# echo "Fetching Siteworxpro Certificate"
# apt update && apt install -yq ca-certificates curl
# curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt \
# && update-ca-certificates
#
# - name: Checkout
# uses: actions/checkout@v4
#
# - name: Docker Hub Login
# uses: docker/login-action@v3
# with:
# registry: docker.io
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
#
# - name: Install Composer Libraries
# run: |
# docker run --rm \
# -v ${{ github.workspace }}:/app \
# -w /app \
# siteworxpro/composer \
# install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
#
# - name: Run License Check
# run: |
# docker run --rm \
# -v ${{ github.workspace }}:/app \
# -w /app \
# siteworxpro/composer \
# run tests:license
#
# CodeLint:
# name: Code Lint
# runs-on: ubuntu-latest
# steps:
# - name: Fetch Siteworxpro Certificate
# run: |
# echo "Fetching Siteworxpro Certificate"
# apt update && apt install -yq ca-certificates curl
# curl -Ls https://siteworxpro.com/hosted/Siteworx+Root+CA.pem -o /usr/local/share/ca-certificates/sw.crt \
# && update-ca-certificates
#
# - name: Checkout
# uses: actions/checkout@v4
#
# - name: Docker Hub Login
# uses: docker/login-action@v3
# with:
# registry: docker.io
# username: ${{ secrets.DOCKER_USERNAME }}
# password: ${{ secrets.DOCKER_PASSWORD }}
#
# - name: Install Composer Libraries
# run: |
# docker run --rm \
# -v ${{ github.workspace }}:/app \
# -w /app \
# siteworxpro/composer \
# install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
#
# - name: Run Code Lint
# run: |
# docker run --rm \
# -v ${{ github.workspace }}:/app \
# -w /app \
# siteworxpro/composer \
# run tests:lint
CodeSniffer:
name: Code Sniffer
runs-on: ubuntu-latest
steps:
- name: 🛡️ 🔒 Add Siteworx CA Certificates
run: |
apt update && apt install -yq ca-certificates curl
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 \
--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: |
apt update && apt install -yq ca-certificates curl
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 \
--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
run: |
docker run --rm \
--volumes-from ${{ env.JOB_CONTAINER_NAME }} \
-w ${{ github.workspace }} \
siteworxpro/composer \
run tests:unit
# - name: Upload Unit Test Coverage
# uses: actions/upload-artifact@v3
# with:
# path: tests/reports/junit.xml
# name: unit-test-coverage