Skip to content

Merge pull request #170 from PaloAltoNetworks/feature/extend_pov_star… #512

Merge pull request #170 from PaloAltoNetworks/feature/extend_pov_star…

Merge pull request #170 from PaloAltoNetworks/feature/extend_pov_star… #512

Workflow file for this run

name: Prisma Cloud CLI Build Workflow
on:
push:
pull_request:
branches:
- main
env:
PC_ACCESS_KEY: ${{ secrets.PC_ACCESS_KEY }}
PC_SAAS_API_ENDPOINT: ${{ secrets.PC_SAAS_API_ENDPOINT }}
PC_SECRET_KEY: ${{ secrets.PC_SECRET_KEY }}
jobs:
qa:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
pip install pylint
pip install -r requirements.txt
- name: Analysing the code with pylint
run: |
pylint $(git ls-files '*.py')
- name: Install flake8
run: |
pip install flake8
- name: Analysing the code with flake8
run: |
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# execute overall flake8 scan
flake8 . --count --statistics
test:
needs: qa
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Check for required environment variables
run: |
required_env_vars=("PC_ACCESS_KEY" "PC_SAAS_API_ENDPOINT" "PC_SECRET_KEY")
for env_var in "${required_env_vars[@]}"; do
if [[ -z "${!env_var}" ]]; then
echo "Error: $env_var is not set"
exit 1
fi
done
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install build
pip install pylint
pip install -r requirements.txt
- name: Build package
run: python -m build
- name: Install package
run: pip install .
- name: Accept Support Message
run: |
mkdir ~/.prismacloud
touch ~/.prismacloud/.community_supported_accepted
- name: Run tests
run: SKIP_BENCHMARK=1 pytest tests
- name: Upload test results
if: always()
uses: actions/upload-artifact@v3
with:
name: test-results
path: .pytest_cache