77 name : Unix Build
88 strategy :
99 matrix :
10- os : [ubuntu-18.04, macOS-10.14 ]
11- python-version : [2.7, 3.6, 3.7]
10+ os : [ubuntu-18.04, macOS-latest ]
11+ python-version : [2.7, 3.5, 3. 6, 3.7, 3.8 ]
1212 runs-on : ${{ matrix.os }}
1313 steps :
1414 - uses : actions/checkout@v1
2121 CI_SLACK_SUCCESS_NOTIFICATION="payload={\"attachments\": [{\"color\": \"#4CAF50\", \"author_name\": \"Python ${{ matrix.python-version }} build on ${{ matrix.os }}\", \"text\": \"Build for commit *${CI_SHA:0:7}* succeeded!\", \"title\": \"${{ github.repository }}@${{ github.ref }}\", \"title_link\": \"https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks\", \"footer\": \"Triggered by ${{ github.actor }}\"}], \"username\":\"Github Actions @ ${{ github.repository }}\", \"channel\":\"#continuous-integration\", \"icon_url\":\"https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png\"}"
2222 CI_SLACK_FAILURE_NOTIFICATION="${CI_SLACK_SUCCESS_NOTIFICATION/4CAF50/F44336}"
2323 CI_SLACK_FAILURE_NOTIFICATION="${CI_SLACK_FAILURE_NOTIFICATION/succeeded/failed}"
24+ CI_OPENIMAGEIO_ARTIFACT=https://github.com/colour-science/artifacts/suites/407105362/artifacts/1192372
25+ CI_OPENIMAGEIO_VERSION=2.1.10.1
2426 COVERALLS_REPO_TOKEN=${{ secrets.COVERALLS_REPO_TOKEN }}
2527 MPLBACKEND=AGG
2628 echo ::set-env name=CI_PYTHON_VERSION::$CI_PYTHON_VERSION
3032 echo ::set-env name=CI_SLACK_SUCCESS_NOTIFICATION::$CI_SLACK_SUCCESS_NOTIFICATION
3133 echo ::set-env name=CI_SLACK_FAILURE_NOTIFICATION::$CI_SLACK_FAILURE_NOTIFICATION
3234 echo ::set-env name=COVERALLS_REPO_TOKEN::$COVERALLS_REPO_TOKEN
35+ echo ::set-env name=CI_OPENIMAGEIO_ARTIFACT::$CI_OPENIMAGEIO_ARTIFACT
36+ echo ::set-env name=CI_OPENIMAGEIO_VERSION::$CI_OPENIMAGEIO_VERSION
3337 echo ::set-env name=MPLBACKEND::$MPLBACKEND
3438 - name : Set up Python ${{ matrix.python-version }}
3539 uses : actions/setup-python@v1
@@ -38,29 +42,32 @@ jobs:
3842 - name : Ubuntu - Update OS & Install APT Dependencies
3943 if : matrix.os == 'ubuntu-18.04'
4044 run : |
41- sudo apt-get update
4245 sudo apt-get --yes install libboost-all-dev libilmbase-dev libopenexr-dev libpng-dev libtiff5-dev
4346 - name : Install Poetry
4447 run : |
4548 curl -L https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py -o get-poetry.py
46- python get-poetry.py --preview
49+ python get-poetry.py --preview --version 1.0.0b3
4750 PATH=$HOME/.poetry/bin:$PATH
4851 echo ::set-env name=PATH::$PATH
52+ - name : Python 3.8 - Matplotlib
53+ if : matrix.python-version == '3.8'
54+ run : |
55+ sed -i.bak 's/python = "~2.7 || ^3.5"/python = "^3.6"/g' pyproject.toml
56+ sed -i.bak 's/matplotlib = { version = "\*"/matplotlib = { version = "^3.1"/g' pyproject.toml
4957 - name : Install Package Dependencies
5058 run : |
5159 poetry install --extras "optional plotting"
52- poetry env use $CI_PYTHON_VERSION
5360 source $(poetry env info -p)/bin/activate
5461 python -c "import imageio;imageio.plugins.freeimage.download()"
5562 - name : Ubuntu - Install OpenImageIO
5663 if : matrix.os == 'ubuntu-18.04' && matrix.python-version == '3.6'
5764 run : |
58- curl -L https://github.com/colour-science/artifacts/suites/233020849/artifacts/44967 -o OpenImageIO-Release-2.0.10 .zip
59- unzip OpenImageIO-Release-2.0.10. zip
60- sudo cp OpenImageIO-Release-2.0.10 /linux64/bin/* /usr/bin/
61- sudo cp -r OpenImageIO-Release-2.0.10 /linux64/lib/* /usr/lib/
62- sudo rm -rf /usr/lib/python3.6
63- cp OpenImageIO-Release-2.0.10 /linux64/lib/python3.6 /site-packages/OpenImageIO.so $(poetry env info -p)/lib/python3.6 /site-packages/
65+ curl -L $CI_OPENIMAGEIO_ARTIFACT -o OpenImageIO-Release-$CI_OPENIMAGEIO_VERSION .zip
66+ unzip OpenImageIO-Release-$CI_OPENIMAGEIO_VERSION. zip -d OpenImageIO-Release-$CI_OPENIMAGEIO_VERSION
67+ sudo cp OpenImageIO-Release-$CI_OPENIMAGEIO_VERSION /linux64/bin/* /usr/bin/
68+ sudo cp -r OpenImageIO-Release-$CI_OPENIMAGEIO_VERSION /linux64/lib/* /usr/lib/
69+ sudo rm -rf /usr/lib/python$CI_PYTHON_VERSION
70+ cp OpenImageIO-Release-$CI_OPENIMAGEIO_VERSION /linux64/lib/python$CI_PYTHON_VERSION /site-packages/OpenImageIO.so $(poetry env info -p)/lib/python$CI_PYTHON_VERSION /site-packages/
6471 - name : Lint with flake8
6572 run : |
6673 source $(poetry env info -p)/bin/activate
7077 source $(poetry env info -p)/bin/activate
7178 python -W ignore -m nose -v --nocapture --with-doctest --doctest-options=+ELLIPSIS --with-coverage --cover-package=$CI_PACKAGE $CI_PACKAGE
7279 - name : Upload Coverage to coveralls.io
73- if : matrix.python-version == '3.6' || matrix.python-version == '3.7'
80+ if : matrix.python-version == '3.6' || matrix.python-version == '3.7' || matrix.python-version == '3.8'
7481 run : |
7582 source $(poetry env info -p)/bin/activate
7683 if [ -z "$COVERALLS_REPO_TOKEN" ]; then echo \"COVERALLS_REPO_TOKEN\" secret is undefined!; else coveralls; fi
8491 strategy :
8592 matrix :
8693 os : [windows-2019]
87- python-version : [2.7, 3.6, 3.7]
94+ python-version : [2.7, 3.5, 3. 6, 3.7]
8895 runs-on : ${{ matrix.os }}
8996 steps :
9097 - uses : actions/checkout@v1
@@ -107,38 +114,45 @@ jobs:
107114 echo ::set-env name=CI_SLACK_FAILURE_NOTIFICATION::%CI_SLACK_FAILURE_NOTIFICATION%
108115 echo ::set-env name=COVERALLS_REPO_TOKEN::%COVERALLS_REPO_TOKEN%
109116 echo ::set-env name=MPLBACKEND::%MPLBACKEND%
117+ shell : cmd
110118 - name : Set up Python ${{ matrix.python-version }}
111119 uses : actions/setup-python@v1
112120 with :
113121 python-version : ${{ matrix.python-version }}
114122 - name : Install Poetry
115123 run : |
116124 curl -L https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py -o get-poetry.py
117- python get-poetry.py --preview
125+ python get-poetry.py --preview --version 1.0.0b3
118126 set PATH=%USERPROFILE%\.poetry\bin;%PATH%
119127 echo ::set-env name=PATH::%PATH%
128+ shell : cmd
120129 - name : Install Package Dependencies
121130 run : |
122131 call poetry install --extras "optional plotting"
123132 FOR /F %%a IN ('poetry env info -p') DO SET CI_VIRTUAL_ENVIRONMENT=%%a
124133 echo ::set-env name=CI_VIRTUAL_ENVIRONMENT::%CI_VIRTUAL_ENVIRONMENT%
125134 call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
126135 python -c "import imageio;imageio.plugins.freeimage.download()"
136+ shell : cmd
127137 - name : Lint with flake8
128138 run : |
129139 call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
130140 flake8 %CI_PACKAGE% --count --show-source --statistics
141+ shell : cmd
131142 - name : Test with nosetests
132143 run : |
133144 call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
134145 python -W ignore -m nose -v --nocapture --with-doctest --doctest-options=+ELLIPSIS --with-coverage --cover-package=%CI_PACKAGE% %CI_PACKAGE%
146+ shell : cmd
135147 - name : Upload Coverage to coveralls.io
136148 if : matrix.python-version == '3.6' || matrix.python-version == '3.7'
137149 run : |
138150 call %CI_VIRTUAL_ENVIRONMENT%\scripts\activate
139151 IF "%COVERALLS_REPO_TOKEN%"=="" (echo "COVERALLS_REPO_TOKEN" secret is undefined!) ELSE (coveralls)
152+ shell : cmd
140153 - name : Notify Slack
141154 if : always()
142155 run : |
143156 IF "${{ job.status }}"=="Success" (set CI_SLACK_NOTIFICATION=%CI_SLACK_SUCCESS_NOTIFICATION%) ELSE (set CI_SLACK_NOTIFICATION=%CI_SLACK_FAILURE_NOTIFICATION%)
144157 IF "%CI_SLACK_WEBHOOK%"=="" (echo "SLACK_WEBHOOK" secret is undefined!) ELSE (curl -k -d %CI_SLACK_NOTIFICATION% -X POST %CI_SLACK_WEBHOOK%)
158+ shell : cmd
0 commit comments