-
Notifications
You must be signed in to change notification settings - Fork 1
136 lines (136 loc) · 4.81 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
name: Main Workflow
on:
- push
- workflow_dispatch
jobs:
build-gcc:
name: Build GCC
timeout-minutes: 30
strategy:
matrix:
gcc-version: [7, 8, 9, 10, 11, 12]
runs-on: ubuntu-latest
container: gcc:${{ matrix.gcc-version }}
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
apt-get update && apt-get install -y -q wget libpng-dev
- name: Build P(NG)Convert
run: |
make
- name: Test P(NG)Convert
run: |
./pconvert version
./pconvert benchmark assets/demo/
build-clang:
name: Build Clang
timeout-minutes: 30
strategy:
matrix:
clang-version: [4, 5, 6, 7, 8, 10, 12, 13, 14, 15, 16, 17]
runs-on: ubuntu-latest
container: silkeh/clang:${{ matrix.clang-version }}
steps:
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
apt-get update && apt-get install -y -q wget libpng-dev
- name: Build P(NG)Convert
run: |
make CC=clang
- name: Test P(NG)Convert
run: |
./pconvert version
./pconvert benchmark assets/demo/
build-gcc-cmake:
name: Build GCC CMake
timeout-minutes: 30
strategy:
matrix:
gcc-version: [7, 8, 9, 10, 11, 12, 13]
cmake-version: ["3.25.0"]
cmake-type: ["binary"]
runs-on: ubuntu-latest
container: gcc:${{ matrix.gcc-version }}
steps:
- uses: actions/checkout@v4
- name: Install CMake
run: |
apt-get update && apt-get install -y -q wget libssl-dev
wget https://github.com/Kitware/CMake/releases/download/v${{ matrix.cmake-version }}/cmake-${{ matrix.cmake-version }}-linux-x86_64.tar.gz && tar -zxvf cmake-${{ matrix.cmake-version }}-linux-x86_64.tar.gz && cd cmake-${{ matrix.cmake-version }}-linux-x86_64 && ln -s $(pwd)/bin/cmake /usr/local/bin/cmake
if: matrix.cmake-type == 'binary'
- name: Build & Install CMake
run: |
apt-get update && apt-get install -y -q wget libssl-dev
wget https://ftp.osuosl.org/pub/blfs/conglomeration/cmake/cmake-${{ matrix.cmake-version }}.tar.gz && tar -zxvf cmake-${{ matrix.cmake-version }}.tar.gz && cd cmake-${{ matrix.cmake-version }} && ./bootstrap && make && make install
if: matrix.cmake-type == 'source'
- name: Build & Install Dependencies
run: |
apt-get update && apt-get install -y -q wget python3 python3-dev libpng-dev
wget https://bootstrap.pypa.io/pip/get-pip.py && PIP_BREAK_SYSTEM_PACKAGES=1 python3 get-pip.py
pip3 install --break-system-packages --upgrade "conan<2" urllib3
conan install . --build
- name: Build P(NG)Convert
run: |
cmake .
make
- name: Test P(NG)Convert
run: |
./bin/pconvert version
./bin/pconvert benchmark assets/demo/
build-windows-cmake:
name: Build Windows CMake
timeout-minutes: 30
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Build & Install Dependencies
run: |
pip3 install --upgrade conan urllib3
conan install . --build
- name: Setup msbuild
uses: microsoft/[email protected]
- name: Build P(NG)Convert
run: |
cmake . -DCMAKE_CL_64=1 -DCMAKE_GENERATOR_PLATFORM=x64 -Ax64
msbuild ALL_BUILD.vcxproj /P:Configuration=Release
- name: Test P(NG)Convert
run: |
bin/pconvert version
bin/pconvert benchmark ((Get-Item -Path ".\").FullName + "\assets\demo\")
build-macos-cmake:
name: Build macOS CMake
timeout-minutes: 30
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Build & Install Dependencies
run: |
export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin
pip3 install --upgrade "conan>1.50.0" "urllib3<1.27"
conan install . --build
- name: Build P(NG)Convert
run: |
cmake .
make
- name: Test P(NG)Convert
run: |
./bin/pconvert version
./bin/pconvert benchmark assets/demo/
build-python:
name: Build Python
timeout-minutes: 30
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9, "3.10", "3.11", rc]
runs-on: ubuntu-latest
container: python:${{ matrix.python-version }}
steps:
- uses: actions/checkout@v4
- name: Build & Install Dependencies
run: apt-get update && apt-get install -y -q libpng-dev
- name: Python Information
run: python --version
- name: Build & Test Python Extension
run: python setup.py test