Skip to content

Build

Build #240

name: Build
on:
schedule:
# Every Monday at 1PM UTC (9AM EST)
- cron: "0 13 * * 1"
push:
branches: [master]
pull_request:
branches: [master]
jobs:
build:
strategy:
matrix:
os: [ubuntu-20.04]
python-version: [3.8, 3.9, 3.10.6, 3.11, 3.12]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: sh tools/setup.sh
- name: Lint Codebase
run: sh tools/lint.sh
- name: Build Wheel
run: sh tools/build.sh
- name: Test Wheel
env:
GCS_CREDENTIALS: ${{ secrets.GCS_CREDENTIALS }}
PATHY_S3_ACCESS_ID: ${{ secrets.PATHY_S3_ACCESS_ID }}
PATHY_S3_ACCESS_SECRET: ${{ secrets.PATHY_S3_ACCESS_SECRET }}
PATHY_AZURE_CONNECTION_STRING: ${{ secrets.PATHY_AZURE_CONNECTION_STRING }}
run: rm -rf ./pathy/ && sh tools/test_package.sh
- name: Report Code Coverage
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: sh tools/codecov.sh
build-windows:
runs-on: "windows-latest"
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.11
- name: Install dependencies
run: .\tools\setup.bat
- name: Build Wheel
run: .\tools\build.bat
- name: Remove Pathy folder
uses: JesseTG/rm@v1.0.3
with:
path: .\pathy
- name: Test Wheel (local only)
run: .\tools\test_package.bat
- name: Report Code Coverage
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run: .\tools\codecov.bat
deploy:
runs-on: ubuntu-latest
needs: "build"
if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: "18"
- name: Deploy
env:
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: sh tools/deploy.sh