Skip to content

Merge pull request #30 from siemens/dependabot/github_actions/fsfe/re… #21

Merge pull request #30 from siemens/dependabot/github_actions/fsfe/re…

Merge pull request #30 from siemens/dependabot/github_actions/fsfe/re… #21

Workflow file for this run

# SPDX-FileCopyrightText: © 2021 Avinal Kumar <[email protected]>
# SPDX-License-Identifier: GPL-2.0-only AND LGPL-2.1-only
name: Static checks and analysis
concurrency:
group: static-${{ github.head_ref }}
cancel-in-progress: true
on:
push:
branches: [master]
pull_request:
branches: [master]
workflow_dispatch:
jobs:
syntax-check:
runs-on: ubuntu-22.04
steps:
- name: Install Dependencies
run: |
sudo apt-get update
echo PATH="/usr/lib/ccache/:$PATH" >> $GITHUB_ENV
echo COMPOSER_HOME="$HOME/.composer/" >> $GITHUB_ENV
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Syntax Check
run: |
bash src/testing/syntax/syntaxtest.sh
- name: Setup PHP 7.4
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: gettext, mbstring, gd, json, xml, zip, pgsql, curl, uuid, posix, sqlite3
- name: Composer check on PHP 7.4
run: composer validate --no-check-all --working-dir=src --strict
- name: Setup PHP 8.1
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: gettext, mbstring, json, xml, pgsql, curl, uuid, posix, sqlite3
- name: Composer check on PHP 8.1
run: composer validate --no-check-all --working-dir=src --strict
code-analysis:
runs-on: ubuntu-22.04
steps:
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y cppcheck
echo PATH="/usr/lib/ccache/:$PATH" >> $GITHUB_ENV
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Static Code Analysis
run: cppcheck -q -isrc/nomos/agent_tests/testdata/NomosTestfiles/ -isrc/testing/dataFiles/ src/
codesniffer:
runs-on: ubuntu-22.04
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: gettext, mbstring, gd, json, xml, zip, pgsql, curl, uuid, posix, sqlite3
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: PHP Codesniffer
run: |
export COMPOSER_HOME="$HOME/.composer/"
composer install --prefer-dist --working-dir=src
composer --working-dir=src run-script phpcs
copy-paste:
runs-on: ubuntu-22.04
continue-on-error: true
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
extensions: gettext, mbstring, gd, json, xml, zip, pgsql, curl, uuid, posix, sqlite3, dom
tools: sebastian/phpcpd:6.0.3
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Copy/Paste detector
run: |
export COMPOSER_HOME="$HOME/.composer/"
composer install --prefer-dist --working-dir=src
sudo phpdismod -v ALL -s ALL xdebug
phpcpd src/cli/ src/copyright/ src/decider*/ src/lib/ src/monk/ src/nomos/ src/readmeoss/ src/spdx2/ src/www/ || echo -e "\033[0;31mDuplication detected: Task Failed"
openapi-lint:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Setup default rules
run: |
echo '{"extends": ["spectral:oas"]}' > .spectral.json
- name: Run spectral
uses: stoplightio/[email protected]
with:
file_glob: src/www/ui/api/documentation/openapi.yaml
REUSE-Compliance-Check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v5