Update yegor256/latexmk-action action to v0.15.0 #177
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This is a basic workflow to help you get started with Actions | |
name: CI | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the master branch | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
# This workflow contains a single job called "check" | |
check: | |
# The type of runner that the job will run on | |
runs-on: ubuntu-latest | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it | |
- uses: actions/checkout@v2 | |
- name: Setup Python | |
uses: actions/[email protected] | |
with: | |
# Version range or exact version of a Python version to use, using SemVer's version range syntax. | |
python-version: 3.10.0 | |
- name: Python Code Quality and Lint | |
uses: ricardochaves/[email protected] | |
with: | |
use-pylint: false | |
use-pycodestyle: true | |
use-flake8: true | |
use-black: false | |
use-mypy: false | |
use-isort: false | |
extra-flake8-options: "--config .config/pycodestyle/setup.cfg" | |
- name: Install dependencies | |
run: | | |
python3 -m pip install --upgrade pip wheel | |
python3 -m pip install -r scripts/requirements.txt | |
python3 -m pip install -e ./scripts | |
- name: Extracting source files from correct YAML files | |
run: | | |
python3 -m source_files_extractor tests temp/sources "" | |
- name: Run Clang-Tidy and save reports to "results" folder | |
run: | | |
sudo apt-get update -y | |
sudo apt-get install -y clang-tidy cmake | |
python3 -m build_sources temp/sources build | |
python3 -m clang_tidy -p ./build > results/clang-out.txt | |
cat results/clang-out.txt | |
- name: Run Polystat (EO) and save reports to "results" folder | |
run: | | |
curl -L -o polystat.jar "https://github.com/polystat/polystat-cli/releases/download/v0.1.11/polystat.jar" | |
touch results/polystat-eo-out.txt | |
java -jar polystat.jar eo --in temp/sources/eo --to file=results/polystat-eo-out.txt --sarif | |
cat results/polystat-eo-out.txt | |
- name: set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Run Polystat (Java via J2EO) and save reports to "results" folder | |
run: | | |
curl -L -o j2eo.jar "https://search.maven.org/remotecontent?filepath=org/polystat/j2eo/0.5.3/j2eo-0.5.3.jar" | |
java -jar j2eo.jar temp/sources/java -o temp/sources/j2eo | |
touch results/polystat-j2eo-out.txt | |
java -jar polystat.jar eo --in temp/sources/j2eo --to file=results/polystat-j2eo-out.txt --sarif | |
cat results/polystat-j2eo-out.txt | |
- name: SVF analysis | |
run: | | |
git clone https://github.com/SVF-tools/SVF.git | |
cd SVF | |
source ./build.sh | |
cd ../ | |
python3 -m SVF temp/sources/cpp temp/bc results SVF/Release-build/bin | |
- name: Cppcheck | |
run: | | |
sudo apt-get install -y cppcheck | |
python3 -m cppcheck temp/sources/cpp results | |
- name: Spotbugs | |
run: | | |
curl -L -o spotbugs-4.7.0.tgz "https://github.com/spotbugs/spotbugs/releases/download/4.7.0/spotbugs-4.7.0.tgz" | |
gunzip -c spotbugs-4.7.0.tgz | tar xvf - | |
python3 -m spotbugs spotbugs-4.7.0/lib/spotbugs.jar temp/sources/java results | |
- name: Analyze reports | |
run: python3 -m analyze_reports true | |
# Generate pdf | |
- uses: yegor256/[email protected] | |
with: | |
cmd: latexmk | |
path: results/report | |
opts: report -pdf -shell-escape -f -quiet | |
packages: href-ul ffcode totpages acmart hyperxmp ifmtarg ncctools | |
preprint cleveref paralist comment biblatex needspace environ | |
framed xstring catchfile fvextra libertine inconsolata newtx | |
# Saving artifacts | |
- name: Upload results | |
uses: actions/upload-artifact@v2 | |
with: | |
name: reports | |
path: | | |
results/*.txt | |
results/report/report.tex | |
results/report/*.pdf | |
- name: Save the report to gh-pages branch | |
run: | | |
mkdir report | |
cp results/report/report.pdf report | |
- uses: JamesIves/[email protected] | |
with: | |
branch: gh-pages | |
folder: report | |
clean: false |