You've already forked Php-Template
160 lines
4.7 KiB
YAML
160 lines
4.7 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: |
|
|
docker run --rm \
|
|
-v $(pwd):/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
|