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

163 lines
4.8 KiB
YAML

name: tests.yml
on:
push: {}
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: 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 Sniffer
run: |
docker run --rm \
-v ${{ github.workspace }}:/app \
-w /app \
siteworxpro/composer \
run tests:sniff
UnitTests:
name: Unit Tests
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: |
pwd
ls -la
docker run --rm \
-v ${{ github.workspace }}:/app \
-w /app \
siteworxpro/composer \
install --ignore-platform-reqs --no-interaction --prefer-dist --optimize-autoloader
- name: Run Unit Tests
run: |
docker run --rm \
-v ${{ github.workspace }}:/app \
-w /app \
siteworxpro/composer \
run tests:unit:coverage
- name: Upload Unit Test Coverage
uses: actions/upload-artifact@v3
with:
path: tests/reports/junit.xml
name: unit-test-coverage