1
- name : Main Workflow
2
- on : [push]
1
+ name : Deploy Workflow
2
+ on :
3
+ push :
4
+ tags :
5
+ - " *"
3
6
jobs :
4
- build-gcc :
5
- name : Build GCC
6
- timeout-minutes : 30
7
- strategy :
8
- matrix :
9
- gcc-version : [5, 6, 7, 8, 9, 10, 11, 12, 13]
10
- runs-on : ubuntu-latest
11
- container : gcc:${{ matrix.gcc-version }}
12
- steps :
13
- - uses : actions/checkout@v1
14
- - name : Install Dependencies
15
- run : |
16
- apt-get update && apt-get install -y -q wget libpng-dev
17
- - name : Build P(NG)Convert
18
- run : |
19
- make
20
- - name : Test P(NG)Convert
21
- run : |
22
- ./pconvert version
23
- ./pconvert benchmark assets/demo/
24
- build-clang :
25
- name : Build Clang
26
- timeout-minutes : 30
27
- strategy :
28
- matrix :
29
- clang-version : [3, 4, 5, 6, 7, 8, 10, 12, 14]
30
- runs-on : ubuntu-latest
31
- container : silkeh/clang:${{ matrix.clang-version }}
32
- steps :
33
- - uses : actions/checkout@v1
34
- - name : Install Dependencies
35
- run : |
36
- apt-get update && apt-get install -y -q wget libpng-dev
37
- - name : Build P(NG)Convert
38
- run : |
39
- make CC=clang
40
- - name : Test P(NG)Convert
41
- run : |
42
- ./pconvert version
43
- ./pconvert benchmark assets/demo/
44
- build-gcc-cmake :
45
- name : Build GCC CMake
46
- timeout-minutes : 30
47
- strategy :
48
- matrix :
49
- gcc-version : [7, 8, 9, 10, 11, 12, 13]
50
- cmake-version : ["3.25.0"]
51
- cmake-type : ["binary"]
52
- runs-on : ubuntu-latest
53
- container : gcc:${{ matrix.gcc-version }}
54
- steps :
55
- - uses : actions/checkout@v1
56
- - name : Install CMake
57
- run : |
58
- apt-get update && apt-get install -y -q wget libssl-dev
59
- 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
60
- if : matrix.cmake-type == 'binary'
61
- - name : Build & Install CMake
62
- run : |
63
- apt-get update && apt-get install -y -q wget libssl-dev
64
- 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
65
- if : matrix.cmake-type == 'source'
66
- - name : Build & Install Dependencies
67
- run : |
68
- apt-get update && apt-get install -y -q wget python3 python3-dev libpng-dev
69
- wget https://bootstrap.pypa.io/pip/get-pip.py && python3 get-pip.py
70
- pip3 install --upgrade conan urllib3
71
- conan install . --build
72
- - name : Build P(NG)Convert
73
- run : |
74
- cmake .
75
- make
76
- - name : Test P(NG)Convert
77
- run : |
78
- ./bin/pconvert version
79
- ./bin/pconvert benchmark assets/demo/
80
- build-windows-cmake :
81
- name : Build Windows CMake
82
- timeout-minutes : 30
83
- runs-on : windows-latest
84
- steps :
85
- - uses : actions/checkout@v1
86
- - name : Build & Install Dependencies
87
- run : |
88
- pip3 install --upgrade conan urllib3
89
- conan install . --build
90
- - name : Setup msbuild
91
-
92
- - name : Build P(NG)Convert
93
- run : |
94
- cmake . -DCMAKE_CL_64=1 -DCMAKE_GENERATOR_PLATFORM=x64 -Ax64
95
- msbuild ALL_BUILD.vcxproj /P:Configuration=Release
96
- - name : Test P(NG)Convert
97
- run : |
98
- bin/pconvert version
99
- bin/pconvert benchmark ((Get-Item -Path ".\").FullName + "\assets\demo\")
100
- build-macos-cmake :
101
- name : Build macOS CMake
102
- timeout-minutes : 30
103
- runs-on : macos-latest
104
- steps :
105
- - uses : actions/checkout@v1
106
- - name : Build & Install Dependencies
107
- run : |
108
- export PATH=$PATH:/Library/Frameworks/Python.framework/Versions/2.7/bin
109
- pip3 install --upgrade "conan>1.50.0" "urllib3<1.27"
110
- conan install . --build
111
- - name : Build P(NG)Convert
112
- run : |
113
- cmake .
114
- make
115
- - name : Test P(NG)Convert
116
- run : |
117
- ./bin/pconvert version
118
- ./bin/pconvert benchmark assets/demo/
119
- build-python :
7
+ build :
120
8
name : Build Python
121
- timeout-minutes : 30
122
9
strategy :
123
10
matrix :
124
- python-version : [
125
- 2.7,
126
- 3.5,
127
- 3.6,
128
- 3.7,
129
- 3.8,
130
- 3.9,
131
- " 3.10" ,
132
- " 3.11" ,
133
- " 3.12" ,
134
- latest,
135
- rc,
136
- ]
11
+ python-version : [2.7]
137
12
runs-on : ubuntu-latest
138
13
container : python:${{ matrix.python-version }}
139
14
steps :
@@ -144,3 +19,11 @@ jobs:
144
19
run : python --version
145
20
- name : Build & Test Python Extension
146
21
run : python setup.py test
22
+ - name : Deploy Python Extension
23
+ run : |
24
+ pip install twine wheel
25
+ python setup.py sdist
26
+ python -m twine upload -u ${PYPI_USERNAME} -p ${PYPI_PASSWORD} dist/*
27
+ env :
28
+ PYPI_USERNAME : ${{ secrets.PYPI_USERNAME }}
29
+ PYPI_PASSWORD : ${{ secrets.PYPI_PASSWORD }}
0 commit comments