Merge pull request #3102 from mitre/repin/061224 #1304
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
name: Code Quality | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
workflow_dispatch: | |
permissions: | |
contents: read | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
pull-requests: read | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- python-version: 3.8 | |
toxenv: py38,style,coverage-ci | |
- python-version: 3.9 | |
toxenv: py39,style,coverage-ci | |
- python-version: 3.10.9 | |
toxenv: py310,style,coverage-ci | |
- python-version: 3.11 | |
toxenv: py311,style,coverage-ci | |
- python-version: 3.12 | |
toxenv: py312,style,coverage-ci | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 | |
with: | |
submodules: recursive | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- name: Setup python | |
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '20' | |
- name: Install dependencies | |
run: | | |
pip install --upgrade virtualenv | |
pip install tox | |
npm --prefix plugins/magma install | |
npm --prefix plugins/magma run build | |
- name: Run tests | |
env: | |
TOXENV: ${{ matrix.toxenv }} | |
run: tox | |
- name: Override Coverage Source Path for Sonar | |
run: sed -i "s/<source>\/home\/runner\/work\/caldera\/caldera/<source>\/github\/workspace/g" /home/runner/work/caldera/caldera/coverage.xml | |
- name: SonarCloud Scan | |
uses: SonarSource/sonarcloud-github-action@49e6cd3b187936a73b8280d59ffd9da69df63ec9 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any | |
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} |