Skip to content

Python Package

Python Package #840

name: Python Package
on:
push:
branches: [ "main", "develop" ]
pull_request:
branches: [ "main", "develop" ]
schedule:
- cron: "0 15 * * *"
permissions:
contents: read
security-events: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip pipenv
pipenv sync -d
- name: Build
run: |
pipenv run build
- name: Test with unittest
run: |
export PYTHONPATH=$PWD/src
pipenv run test
- name: Build Docs
run: |
export PYTHONPATH=$PWD/src
pipenv run docs
- name: Lint with Black
run: |
pipenv run lint
- name: Run
run: |
export PYTHONPATH=$PWD/src
pipenv run main all \
-t="${{ github.token }}" \
-r="GeekMasher/ghastoolkit"
examples:
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
python -m pip install --upgrade pip pipenv
pipenv sync -d
- name: Run Examples
env:
GITHUB_TOKEN: "${{ secrets.GHASTOOLKIT_PAT }}"
run: |
set -e
export PYTHONPATH=$PWD/src
for f in examples/*.py; do
echo "[+] Running :: $f"
pipenv run python $f
done
cli:
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
python -m pip install --upgrade pip pipenv
pipenv sync -d --system
- name: Run Examples
env:
GITHUB_TOKEN: "${{ github.token }}"
run: |
set -e
export PYTHONPATH=$PWD/src
python -m ghastoolkit --help