Add workflow yml validation settings

- Add yml validation to project for vscode
- Allow .vscode/settings.json
- Apply formatting to workflow files
This commit is contained in:
Andrew Senetar 2022-03-21 22:18:22 -05:00
parent 8d414cadac
commit 448d33dcb6
Signed by: arsenetar
GPG Key ID: C63300DCE48AB2F1
4 changed files with 88 additions and 76 deletions

View File

@ -2,12 +2,12 @@ name: "CodeQL"
on: on:
push: push:
branches: [ master ] branches: [master]
pull_request: pull_request:
# The branches below must be a subset of the branches above # The branches below must be a subset of the branches above
branches: [ master ] branches: [master]
schedule: schedule:
- cron: '24 20 * * 2' - cron: "24 20 * * 2"
jobs: jobs:
analyze: analyze:
@ -21,30 +21,30 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
language: [ 'cpp', 'python' ] language: ["cpp", "python"]
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@v1 uses: github/codeql-action/init@v1
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file. # If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file. # By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file. # Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main # queries: ./path/to/local/query, your-org/your-repo/queries@main
- if: matrix.language == 'cpp' - if: matrix.language == 'cpp'
name: Build Cpp name: Build Cpp
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install python3-pyqt5 sudo apt-get install python3-pyqt5
make modules make modules
- if: matrix.language == 'python' - if: matrix.language == 'python'
name: Autobuild name: Autobuild
uses: github/codeql-action/autobuild@v1 uses: github/codeql-action/autobuild@v1
# Analysis # Analysis
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1 uses: github/codeql-action/analyze@v1

View File

@ -4,48 +4,48 @@ name: Default CI/CD
on: on:
push: push:
branches: [ master ] branches: [master]
pull_request: pull_request:
branches: [ master ] branches: [master]
jobs: jobs:
lint: lint:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Python 3.10 - name: Set up Python 3.10
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: '3.10' python-version: "3.10"
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-extra.txt pip install -r requirements.txt -r requirements-extra.txt
- name: Lint with flake8 - name: Lint with flake8
run: | run: |
flake8 . flake8 .
format: format:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Python 3.10 - name: Set up Python 3.10
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: '3.10' python-version: "3.10"
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-extra.txt pip install -r requirements.txt -r requirements-extra.txt
- name: Check format with black - name: Check format with black
run: | run: |
black . black .
test: test:
needs: [lint, format] needs: [lint, format]
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
strategy: strategy:
matrix: matrix:
os: [ubuntu-latest, macos-latest, windows-latest] os: [ubuntu-latest, macos-latest, windows-latest]
python-version: [3.7, 3.8, 3.9, '3.10'] python-version: [3.7, 3.8, 3.9, "3.10"]
exclude: exclude:
- os: macos-latest - os: macos-latest
python-version: 3.7 python-version: 3.7
@ -61,24 +61,24 @@ jobs:
python-version: 3.9 python-version: 3.9
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }} - name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2 uses: actions/setup-python@v2
with: with:
python-version: ${{ matrix.python-version }} python-version: ${{ matrix.python-version }}
- name: Install dependencies - name: Install dependencies
run: | run: |
python -m pip install --upgrade pip python -m pip install --upgrade pip
pip install -r requirements.txt -r requirements-extra.txt pip install -r requirements.txt -r requirements-extra.txt
- name: Build python modules - name: Build python modules
run: | run: |
python build.py --modules python build.py --modules
- name: Run tests - name: Run tests
run: | run: |
pytest core hscommon pytest core hscommon
- name: Upload Artifacts - name: Upload Artifacts
if: matrix.os == 'ubuntu-latest' if: matrix.os == 'ubuntu-latest'
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: modules ${{ matrix.python-version }} name: modules ${{ matrix.python-version }}
path: ${{ github.workspace }}/**/*.so path: ${{ github.workspace }}/**/*.so

2
.gitignore vendored
View File

@ -86,7 +86,7 @@ cython_debug/
# Visual Studio Code # Visual Studio Code
.vscode/* .vscode/*
#!.vscode/settings.json !.vscode/settings.json
#!.vscode/tasks.json #!.vscode/tasks.json
#!.vscode/launch.json #!.vscode/launch.json
#!.vscode/extensions.json #!.vscode/extensions.json

12
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,12 @@
{
"python.formatting.provider": "black",
"cSpell.words": [
"Dupras",
"hscommon"
],
"python.languageServer": "Pylance",
"yaml.schemaStore.enable": true,
"yaml.schemas": {
"https://json.schemastore.org/github-workflow.json": ".github/workflows/*.yml"
}
}