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