Skip to content

[Snyk] Security upgrade setuptools from 68.0.0 to 70.0.0 #45

[Snyk] Security upgrade setuptools from 68.0.0 to 70.0.0

[Snyk] Security upgrade setuptools from 68.0.0 to 70.0.0 #45

Workflow file for this run

name: CI
on:
push:
branches: [ master , release/* ]
pull_request:
branches: [ master ]
jobs:
composer-validate:
name: "PHP ${{ matrix.php-version }} Composer Validate"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- '7.4'
steps:
- name: Checkout code
uses: "actions/checkout@v2"
- name: Install PHP
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v2
- name: Validate composer.json
run: "composer validate --strict --no-check-lock"
php-coding-standards-test:
needs:
- composer-validate
name: "PHP ${{ matrix.php-version }} Coding Standards Tests"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- '7.4'
steps:
- name: "Checkout code"
uses: "actions/checkout@v2"
- name: "Install PHP"
uses: "shivammathur/setup-php@v2"
with:
coverage: "none"
php-version: "${{ matrix.php-version }}"
tools: composer:v2
- name: "Composer install"
uses: "ramsey/composer-install@v1"
with:
composer-options: "--no-scripts"
- name: Run Code Standard Test
run: composer run-script code-standards-test
php-static-analysis-test:
needs:
- composer-validate
name: "PHP ${{ matrix.php-version }} Static Analysis Tests"
runs-on: "ubuntu-latest"
strategy:
matrix:
php-version:
- '7.4'
steps:
- uses: actions/checkout@v2
- uses: php-actions/composer@v6
- name: PHPStan Test
run: composer run-script static-analysis-test
php-unit-test:
name: "PHP ${{ matrix.php-version }} Unit Tests"
needs:
- composer-validate
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- '7.2'
- '7.3'
- '7.4'
- '8.0'
- '8.1'
steps:
- name: "Checkout code"
uses: actions/checkout@v2
- name: PHP Info
run: php --version
- name: Cache Composer packages
uses: actions/cache@v2
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run PHP Unit Tests
run: composer run-script unit-test
php-feature-test:
name: "PHP ${{ matrix.php-version }} Feature Tests"
needs:
- composer-validate
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- '7.2'
- '7.3'
- '7.4'
- '8.0'
steps:
- name: "Checkout code"
uses: actions/checkout@v2
- name: Cache Composer packages
uses: actions/cache@v2
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run ProcessorTest
run: composer run-script feature-test
php-benchmark-test:
name: "PHP ${{ matrix.php-version }} Benchmark Tests"
needs:
- composer-validate
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- '7.2'
- '7.3'
- '7.4'
- '8.0'
steps:
- name: "Checkout code"
uses: actions/checkout@v2
- name: Cache Composer packages
uses: actions/cache@v2
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run PHP Benchmark Tests
run: composer run-script benchmark-test
php-coverage-test:
name: "PHP ${{ matrix.php-version }} Coverage Tests"
needs:
- composer-validate
runs-on: ubuntu-latest
strategy:
matrix:
php-version:
- '8.0'
steps:
- name: "Checkout code"
uses: actions/checkout@v2
- name: PHP Info
run: php --version
- name: Cache Composer packages
uses: actions/cache@v2
with:
path: vendor
key: ${{ runner.os }}-php-${{ hashFiles('**/composer.lock') }}
restore-keys: |
${{ runner.os }}-php-
- name: Install dependencies
run: composer install --prefer-dist --no-progress
- name: Run PHP Coverage Tests
run: composer run-script coverage-test
- name: Submit code coverage
if: matrix.submit-coverage == 'yes'
run: bash <(curl -s https://codecov.io/bash) -t ${{ secrets.CODECOV_TOKEN }} -f tests/output/clover.xml
dockerfile-validate:
name: "Dockerfile Validate"
needs:
- composer-validate
- php-coding-standards-test
- php-static-analysis-test
- php-unit-test
- php-benchmark-test
- php-feature-test
- php-coverage-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: hadolint/[email protected]
with:
dockerfile: Dockerfile
failure-threshold: error
docker-hub:
name: "Push to Docker Hub"
environment: CI
needs:
- dockerfile-validate
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
push: true
tags: ouxsoft/phpmarkup:latest
target: standard
slack-notification:
name: "Slack Notification"
runs-on: ubuntu-latest
if: always()
needs:
- composer-validate
- php-coding-standards-test
- php-static-analysis-test
- php-unit-test
- php-benchmark-test
- php-feature-test
- php-coverage-test
- dockerfile-validate
- docker-hub
steps:
- name: Send message to Slack API
uses: archive/[email protected]
with:
slack-bot-user-oauth-access-token: ${{ secrets.SLACK_BOT_USER_OAUTH_ACCESS_TOKEN }}
slack-channel: ${{ secrets.SLACK_CHANNEL_ID }}
slack-text: |
Event "${{ github.event_name }}" in "${{ github.repository }}" by @${{ github.actor }}
Commit ${{ github.sha }}
${{ needs.composer-validate.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} Composer Validate.
${{ needs.php-coding-standards-test.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} PHP Coding Standards Tests
${{ needs.php-static-analysis-test.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} PHP Static Analysis Tests
${{ needs.php-unit-test.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} PHP Unit Tests.
${{ needs.php-benchmark-test.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} PHP Benchmark Tests.
${{ needs.php-feature-test.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} PHP Feature Tests.
${{ needs.php-coverage-test.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} PHP Coverage Tests.
${{ needs.dockerfile-validate.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} Dockerfile Validate.
${{ needs.docker-hub.result == 'success' && ':white_check_mark:' || ':no_entry_sign:' }} Docker Hub.