Skip to content

fix #37

fix #37 #122

Workflow file for this run

name: ci
on:
push:
branches:
- main
paths:
- "**.py"
- "**.css"
- "**.js"
- "**.json"
- "**.xml"
- "**/poxy/data/*"
- "**/workflows/**.yaml"
- "pyproject.toml"
pull_request:
branches:
- main
paths:
- "**.py"
- "**.css"
- "**.js"
- "**.json"
- "**.xml"
- "**/poxy/data/*"
- "**/workflows/**.yaml"
- "pyproject.toml"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
linux:
strategy:
fail-fast: false
matrix:
compiler:
- "clang"
linker:
- "lld"
doxygen_tag:
#- "Release_1_8_17"
#- "Release_1_8_18"
#- "Release_1_8_19"
#- "Release_1_8_20"
#- "Release_1_9_0"
#- "Release_1_9_1"
#- "Release_1_9_2"
#- "Release_1_9_3"
#- "Release_1_9_4"
#- "Release_1_9_5"
#- "Release_1_9_6"
- "none"
os:
- "ubuntu-22.04"
- "ubuntu-20.04"
python:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
runs-on: "${{ matrix.os }}"
defaults:
run:
shell: bash
steps:
- name: Install base dependencies
run: |
sudo apt -y update
sudo apt -y install --no-install-recommends git
- name: Install python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install python dependencies
run: |
python -m pip install --upgrade pip build setuptools wheel
- name: Install compiler dependencies
if: ${{ matrix.doxygen_tag != 'none' }}
run: |
sudo apt -y install --no-install-recommends cmake flex bison
- name: Install lld
if: ${{ matrix.doxygen_tag != 'none' && startsWith(matrix.linker, 'lld') }}
run: |
sudo apt -y install --no-install-recommends lld
- name: Install clang
if: ${{ matrix.doxygen_tag != 'none' && startsWith(matrix.compiler, 'clang') }}
run: |
sudo apt -y install --no-install-recommends clang
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/clang++ 1000
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/clang 1000
- name: Install gcc
if: ${{ matrix.doxygen_tag != 'none' && startsWith(matrix.compiler, 'gcc') }}
run: |
sudo apt -y install --no-install-recommends gcc g++
sudo update-alternatives --install /usr/bin/c++ c++ /usr/bin/g++ 1000
sudo update-alternatives --install /usr/bin/cc cc /usr/bin/gcc 1000
- uses: actions/checkout@v3
with:
path: repo
- name: Install poxy
run: |
cd "${{ github.workspace }}/repo"
python -m pip install --upgrade .
- name: Print poxy help and version
run: |
poxy --help
poxy --version
- name: Build and install doxygen from source
if: ${{ matrix.doxygen_tag != 'none' }}
run: |
cd "${{ github.workspace }}"
git clone --depth 1 --branch ${{ matrix.doxygen_tag }} https://github.com/doxygen/doxygen.git
cd doxygen
mkdir build
cd build
CC=cc CC_LD=${{ matrix.linker }} CXX=c++ CXX_LD=${{ matrix.linker }} cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel ..
CC=cc CC_LD=${{ matrix.linker }} CXX=c++ CXX_LD=${{ matrix.linker }} make -j
CC=cc CC_LD=${{ matrix.linker }} CXX=c++ CXX_LD=${{ matrix.linker }} sudo make install
- name: Install doxygen from apt
if: ${{ matrix.doxygen_tag == 'none' }}
run: |
sudo apt -y install doxygen
doxygen --version
poxy --doxygen-version
- name: Run poxy on test_project
run: |
cd "${{ github.workspace }}/repo/tests/test_project"
poxy
poxy --xml
poxy --verbose
poxy --bug-report