initial renaming to plate-simulation #11
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: static analysis | |
on: | |
pull_request: | |
branches: | |
- develop | |
- main | |
- release/** | |
- feature/** | |
- hotfix/** | |
push: | |
branches: | |
- develop | |
- main | |
- release/** | |
- feature/** | |
- hotfix/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
env: | |
source_dir: plate_simulation | |
jobs: | |
pre-commit: | |
name: pre-commit | |
strategy: | |
fail-fast: false | |
runs-on: ubuntu-latest | |
env: | |
SKIP: pylint | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
- name: capture modified files | |
if: github.event_name == 'pull_request' | |
run: >- | |
git fetch --deepen=500 origin ${{github.base_ref}} | |
&& echo "FILES_PARAM=$( | |
git diff --diff-filter=AM --name-only refs/remotes/origin/${{github.base_ref}}... -- | grep -E "^(${source_dir}|tests)/.*\.py$" | xargs | |
)" >> $GITHUB_ENV | |
- name: Run pre-commit on modified files | |
if: github.event_name == 'pull_request' && env.FILES_PARAM | |
uses: pre-commit/[email protected] | |
with: | |
extra_args: --hook-stage push --files ${{ env.FILES_PARAM }} | |
- name: Run pre-commit on all files | |
if: github.event_name == 'push' | |
uses: pre-commit/[email protected] | |
with: | |
extra_args: --hook-stage push --all-files | |
pylint: | |
name: pylint | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
shell: bash -l {0} | |
env: | |
PYTHONUTF8: 1 | |
CONDA_CHANNEL_PRIORITY: strict | |
PIP_NO_DEPS: 1 # all dependencies are installed from conda | |
CONDA_LOCK_ENV_FILE: environments/py-3.10-linux-64-dev.conda.lock.yml | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup conda env | |
uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-file: ${{ env.CONDA_LOCK_ENV_FILE }} | |
environment-name: linter_env | |
cache-downloads: true | |
- name: capture modified files | |
if: github.event_name == 'pull_request' | |
run: >- | |
git fetch --deepen=500 origin ${{github.base_ref}} | |
&& echo "FILES_PARAM=$( | |
git diff --diff-filter=AM --name-only refs/remotes/origin/${{github.base_ref}}... -- | grep -E "^(${source_dir}|tests)/.*\.py$" | xargs | |
)" >> $GITHUB_ENV | |
- name: Run pylint on modified files | |
if: github.event_name == 'pull_request' && env.FILES_PARAM | |
run: pylint $FILES_PARAM | |
- name: Run pylint on all files | |
if: github.event_name == 'push' | |
run: pylint $source_dir tests |