-
Notifications
You must be signed in to change notification settings - Fork 58
72 lines (62 loc) · 2.57 KB
/
test.yml
File metadata and controls
72 lines (62 loc) · 2.57 KB
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
# This is a basic workflow to help you get started with Actions
name: CI
# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
build:
# The type of runner that the job will run on
runs-on: ubuntu-latest
name: Python ${{ matrix.python-version }} and GCC ${{ matrix.gcc-version }}
strategy:
matrix:
python-version: [2.7, 3.5, 3.6, 3.7, 3.8]
gcc-version: [5, 6, 7, 8, 9, 10]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- name: Set up GCC ${{ matrix.gcc-version }}
run: sudo apt-get install g++-${{matrix.gcc-version}} gcc-${{matrix.gcc-version}}-plugin-dev
- name: Display GCC version
run: gcc-${{matrix.gcc-version}} --version
# https://docs.github.com/en/actions/guides/building-and-testing-python
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: |
python -c "import sys; print(sys.version)"
python-config --cflags
python3-config --cflags
python-config --libs
python3-config --libs
- name: Install Python dependencies
run: python -m pip install --upgrade six pygments lxml
- name: Build plugin and run the testsuite
run: |
export CC=gcc-${{matrix.gcc-version}}
export CXX=g++-${{matrix.gcc-version}}
if [ $(python -c"import sys; print(sys.version_info.major)") = "3" ]
then
export PYTHON_CONFIG=python3-config
else
export PYTHON_CONFIG=python-config
fi
$PYTHON_CONFIG --cflags
$PYTHON_CONFIG --libs
# Try to extract "-Lpath" from python-config --ldflags and add
# it to LD_LIBRARY_PATH
LD_LIBRARY_PATH=$(echo $($PYTHON_CONFIG --ldflags) | grep -o "\-L\S*" | cut -c 3-):$LD_LIBRARY_PATH
echo LD_LIBRARY_PATH: $LD_LIBRARY_PATH
pwd=$(pwd -P)
mkdir build
cd build
make -f $pwd/Makefile srcdir=$pwd/ PYTHON_CONFIG=$PYTHON_CONFIG LD_LIBRARY_PATH=$LD_LIBRARY_PATH