Skip to content

working on c workflow #5

working on c workflow

working on c workflow #5

on:
push:
pull_request:
branches:
- master
jobs:
generate-wrapper:
runs-on: "ubuntu-22.04"
defaults:
run:
working-directory: ./python-wrapper
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt -qy update && sudo apt -qy upgrade
sudo apt -qy install --no-install-recommends gcc g++ swig
- name: generate wrapper
run: ./generate_swig_wrapper.sh
shell: bash
- uses: actions/upload-artifact@v4
with:
name: python-sources
path: python-wrapper/sensirion_gas_index_algorithm/**
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: swig-sources
path: python-wrapper/swig/**
if-no-files-found: error
check_readme_rst_syntax:
runs-on: "ubuntu-22.04"
defaults:
run:
working-directory: ./python-wrapper
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.8
- name: install rst linter
run: pip install restructuredtext-lint pygments
- name: run
run: rst-lint *.rst
build:
continue-on-error: true
strategy:
matrix:
py-version: ["3.8", "3.9"]
os: [ubuntu-22.04, windows-2019, macOS-15]
fail-fast: false
runs-on: "ubuntu-22.04"
needs: generate-wrapper
defaults:
run:
working-directory: ./python-wrapper
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: python-sources
path: python-wrapper/sensirion_gas_index_algorithm
- uses: actions/download-artifact@v4
with:
name: swig-sources
path: python-wrapper/swig
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py-version }}
- name: install package
run: |
pip3 install -e .[test]
pip3 install wheel
- name: static test
run: flake8
- name: unit test
run: pytest
- name: create wheel
run: python3 setup.py bdist_wheel
- uses: actions/upload-artifact@v4
with:
name: py_${{ matrix.py-version }}_${{ matrix.os}}_build
path: python-wrapper/dist/**
if-no-files-found: error
py3p8_linux_sdist:
runs-on: "ubuntu-22.04"
needs: generate-wrapper
defaults:
run:
working-directory: ./python-wrapper
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: python-sources
path: python-wrapper/sensirion_gas_index_algorithm
- uses: actions/download-artifact@v4
with:
name: swig-sources
path: python-wrapper/swig
- uses: actions/setup-python@v5
with:
python-version: 3.8
- name: create dist package
run: python3 setup.py sdist
- uses: actions/upload-artifact@v4
with:
name: source_dist
path: python-wrapper/dist/**
if-no-files-found: error
build_pages:
runs-on: "ubuntu-22.04"
needs: generate-wrapper
defaults:
run:
working-directory: ./python-wrapper
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: python-sources
path: python-wrapper/sensirion_gas_index_algorithm
- uses: actions/download-artifact@v4
with:
name: swig-sources
path: python-wrapper/swig
- uses: actions/setup-python@v5
with:
python-version: 3.8
cache: "pip"
- name: Install the project dependencies
run: |
python setup.py install
python -m pip install -r docs/requirements.txt
- name: Build documentation
run: cd ./docs && make html
- name: Upload html
uses: actions/upload-pages-artifact@v4
with:
path: python-wrapper/docs/_build/html
deploy_pages:
runs-on: "ubuntu-22.04"
needs: build_pages
permissions:
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
# Deploy to the github-pages environment
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
with:
token: ${{secrets.GITHUB_TOKEN}}