123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- name: Lint
- on: [push, pull_request]
- jobs:
- Salt:
- name: Lint Salt's Source Code
- runs-on: ubuntu-latest
- container:
- image: python:3.8.6-slim-buster
- steps:
- - name: Install System Deps
- run: |
- apt-get update
- apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
- - uses: actions/checkout@v2
- - name: Set Python Version Env Var
- run: |
- echo PY_VERSION=$(python -c 'import sys; print("{}.{}".format(*sys.version_info))') >> $GITHUB_ENV
- - name: Install Nox
- run: |
- python -m pip install --upgrade pip
- pip install nox
- - name: Set Lint Python Cache Key
- run: echo "PY=$(python --version --version | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
- - name: Setup Nox Cache
- uses: pat-s/always-upload-cache@v2.1.3
- with:
- path: .nox/
- key: lint-salt|${{ env.PY }}|${{ hashFiles(format('requirements/static/ci/py{0}/*.txt', env.PY_VERSION)) }}
- - id: changed-files
- name: Get Changed Files
- uses: dorny/paths-filter@v2
- with:
- token: ${{ github.token }}
- list-files: json
- filters: |
- salt:
- - added|modified:
- - setup.py
- - noxfile.py
- - salt/**/*.py
- - tasks/**/*.py
- - name: Install Python Requirements
- env:
- PIP_EXTRA_INDEX_URL: https://artifactory.saltstack.net/artifactory/api/pypi/pypi-open/simple/
- run:
- nox --install-only --forcecolor -e lint-salt
- - name: Lint Changed Files
- if: github.event_name == 'pull_request' && steps.changed-files.outputs.salt == 'true'
- env:
- SKIP_REQUIREMENTS_INSTALL: YES
- run: |
- nox --forcecolor -e lint-salt -- ${{ join(fromJSON(steps.changed-files.outputs.salt_files), ' ') }}
- - name: Lint ALL Files
- if: steps.changed-files.outputs.salt == 'true'
- env:
- SKIP_REQUIREMENTS_INSTALL: YES
- run: |
- nox --forcecolor -e lint-salt
- Tests:
- name: Lint Salt's Test Suite
- runs-on: ubuntu-latest
- container:
- image: python:3.8.6-slim-buster
- steps:
- - name: Install System Deps
- run: |
- apt-get update
- apt-get install -y enchant git gcc make zlib1g-dev libc-dev libffi-dev g++ libxml2 libxml2-dev libxslt-dev libcurl4-openssl-dev libssl-dev libgnutls28-dev
- - uses: actions/checkout@v2
- - name: Set Python Version Env Var
- run: |
- echo PY_VERSION=$(python -c 'import sys; print("{}.{}".format(*sys.version_info))') >> $GITHUB_ENV
- - name: Install Nox
- run: |
- python -m pip install --upgrade pip
- pip install nox
- - name: Set Lint Python Cache Key
- run: echo "PY=$(python --version --version | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
- - name: Setup Nox Cache
- uses: pat-s/always-upload-cache@v2.1.3
- with:
- path: .nox/
- key: lint-tests|${{ env.PY }}|${{ hashFiles(format('requirements/static/ci/py{0}/*.txt', env.PY_VERSION)) }}
- - id: changed-files
- name: Get Changed Files
- uses: dorny/paths-filter@v2
- with:
- token: ${{ github.token }}
- list-files: json
- filters: |
- tests:
- - added|modified:
- - tests/**/*.py
- - name: Install Python Requirements
- env:
- PIP_EXTRA_INDEX_URL: https://artifactory.saltstack.net/artifactory/api/pypi/pypi-open/simple/
- run:
- nox --install-only --forcecolor -e lint-tests
- - name: Lint Changed Files
- if: github.event_name == 'pull_request' && steps.changed-files.outputs.tests == 'true'
- env:
- SKIP_REQUIREMENTS_INSTALL: YES
- run: |
- nox --forcecolor -e lint-tests -- ${{ join(fromJSON(steps.changed-files.outputs.tests_files), ' ') }}
- - name: Lint ALL Files
- if: steps.changed-files.outputs.tests == 'true'
- env:
- SKIP_REQUIREMENTS_INSTALL: YES
- run: |
- nox --forcecolor -e lint-tests
|