Skip to content

Commit 56dbaf4

Browse files
committed
Activate GitHub Workflows build tests on v3.7 branch and disabe AppVeyor and Travis CI.
1 parent 564675d commit 56dbaf4

File tree

7 files changed

+326
-107
lines changed

7 files changed

+326
-107
lines changed
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
name: 'Quick Tests'
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
# For now, there's nothing in the following directories that we're actually checking.
7+
paths-ignore: [ 'distribution/**', 'doc/**', 'source-doc/**' ]
8+
pull_request:
9+
# For now, there's nothing in the following directories that we're actually checking.
10+
paths-ignore: [ 'distribution/**', 'doc/**', 'source-doc/**' ]
11+
12+
jobs:
13+
build_unix:
14+
name: '${{ matrix.os-name }} Build Test'
15+
16+
runs-on: ${{ matrix.os }}
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
- os-name: 'Linux'
22+
os: ubuntu-latest
23+
c-compiler: gcc
24+
cxx-compiler: g++
25+
- os-name: 'MacOS'
26+
os: macos-latest
27+
c-compiler: clang
28+
cxx-compiler: clang++
29+
30+
steps:
31+
32+
- name: 'Matrix Diagnostics'
33+
shell: bash
34+
run: |
35+
echo '${{ toJSON(matrix) }}'
36+
${{matrix.c-compiler}} --version
37+
38+
- name: 'Check out Repository'
39+
uses: actions/checkout@v2
40+
41+
- name: 'Install Prerequisites'
42+
uses: POV-Ray/povray/.github/actions/unix_getlibs@gh-actions-v1
43+
44+
- name: 'Prebuild'
45+
uses: POV-Ray/povray/.github/actions/unix_prebuild@gh-actions-v1
46+
- name: 'Sanity-Check Working Tree'
47+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
48+
49+
- name: 'Configure'
50+
uses: POV-Ray/povray/.github/actions/unix_configure@gh-actions-v1
51+
with:
52+
c-compiler: ${{ matrix.c-compiler }}
53+
cxx-compiler: ${{ matrix.cxx-compiler }}
54+
- name: 'Sanity-Check Working Tree'
55+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
56+
57+
- name: 'Bundle Artifacts for Diagnostics'
58+
if: ${{ always() }}
59+
uses: POV-Ray/povray/.github/actions/git_bundle_ignored@gh-actions-v1
60+
with:
61+
name: artifact_diag_${{ matrix.os }}.tar.gz
62+
63+
- name: 'Build'
64+
uses: POV-Ray/povray/.github/actions/unix_make@gh-actions-v1
65+
- name: 'Sanity-Check Working Tree'
66+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
67+
68+
- name: 'Check Functionality'
69+
uses: POV-Ray/povray/.github/actions/unix_make@gh-actions-v1
70+
with:
71+
make-target: check
72+
- name: 'Sanity-Check Working Tree'
73+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
74+
75+
# - name: 'Install'
76+
# uses: POV-Ray/povray/.github/actions/unix_make@gh-actions-v1
77+
# with:
78+
# make-target: install
79+
# - name: 'Sanity-Check Working Tree'
80+
# uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
81+
82+
- name: 'Upload Artifacts for Diagnostics'
83+
if: ${{ failure() }}
84+
uses: actions/upload-artifact@v2
85+
with:
86+
name: artifact_diag_${{ matrix.os }}
87+
path: artifact_diag_${{ matrix.os }}.tar.gz
88+
89+
# TODO: Maybe do some basic installation checking.
90+
91+
build_windows:
92+
name: 'Windows Build Test'
93+
runs-on: windows-latest
94+
steps:
95+
96+
- name: 'Check out Repository'
97+
uses: actions/checkout@v2
98+
99+
- name: 'Add MSBuild to PATH'
100+
uses: microsoft/[email protected]
101+
102+
- name: 'Patch povray.h'
103+
shell: pwsh
104+
run: |
105+
(Get-Content source\backend\povray.h).replace('FILL IN NAME HERE.........................', 'GitHub') | Set-Content source\backend\povray.h
106+
(Get-Content source\backend\povray.h).replace('#error Please complete the following DISTRIBUTION_MESSAGE_2 definition', '') | Set-Content source\backend\povray.h
107+
108+
- name: 'Build'
109+
uses: POV-Ray/povray/.github/actions/windows_build@gh-actions-v1
110+
with:
111+
pov-ray-build-id: gh${{github.run_number}}
112+
solution: vs10
113+
configuration: Release
114+
platform: x64
115+
toolset: v142
116+
msbuild-options: ''
117+
- name: 'Unpatch povray.h'
118+
shell: bash
119+
run: git checkout source/backend/povray.h
120+
- name: 'Sanity-Check Working Tree'
121+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: 'Unix Build Compatibility Tests'
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
build_unix:
8+
name: '${{ matrix.os }} ${{ matrix.c-compiler }}'
9+
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
os: [ubuntu-18.04, ubuntu-20.04, macos-10.15]
15+
c-compiler: [gcc, clang]
16+
exclude:
17+
- os: macos-10.15
18+
c-compiler: gcc
19+
include:
20+
# os-specific
21+
- os: ubuntu-18.04
22+
configure-options: ''
23+
- os: ubuntu-20.04
24+
configure-options: ''
25+
- os: macos-10.15
26+
configure-options: '--without-openexr' # TODO: Fix for OpenEXR 3.0.0 and later
27+
# compiler-specific
28+
- c-compiler: gcc
29+
cxx-compiler: g++
30+
- c-compiler: clang
31+
cxx-compiler: clang++
32+
33+
steps:
34+
35+
- name: 'Matrix Diagnostics'
36+
shell: bash
37+
run: |
38+
echo '${{ toJSON(matrix) }}'
39+
${{matrix.c-compiler}} --version
40+
41+
- name: 'Check out Repository'
42+
uses: actions/checkout@v2
43+
44+
- name: 'Install Prerequisites'
45+
uses: POV-Ray/povray/.github/actions/unix_getlibs@gh-actions-v1
46+
47+
- name: 'Prebuild'
48+
uses: POV-Ray/povray/.github/actions/unix_prebuild@gh-actions-v1
49+
- name: 'Sanity-Check Working Tree'
50+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
51+
52+
- name: 'Configure'
53+
uses: POV-Ray/povray/.github/actions/unix_configure@gh-actions-v1
54+
with:
55+
c-compiler: ${{ matrix.c-compiler }}
56+
cxx-compiler: ${{ matrix.cxx-compiler }}
57+
configure-options: ${{ matrix.configure-options }}
58+
- name: 'Sanity-Check Working Tree'
59+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
60+
61+
- name: 'Bundle Artifacts for Diagnostics'
62+
if: ${{ always() }}
63+
uses: POV-Ray/povray/.github/actions/git_bundle_ignored@gh-actions-v1
64+
with:
65+
name: artifact_diag_${{ matrix.os }}_${{ matrix.c-compiler }}.tar.gz
66+
67+
- name: 'Build'
68+
uses: POV-Ray/povray/.github/actions/unix_make@gh-actions-v1
69+
- name: 'Sanity-Check Working Tree'
70+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
71+
72+
- name: 'Check Functionality'
73+
uses: POV-Ray/povray/.github/actions/unix_make@gh-actions-v1
74+
with:
75+
make-target: check
76+
- name: 'Sanity-Check Working Tree'
77+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
78+
79+
# - name: 'Install'
80+
# uses: POV-Ray/povray/.github/actions/unix_make@gh-actions-v1
81+
# with:
82+
# make-target: install
83+
# - name: 'Sanity-Check Working Tree'
84+
# uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
85+
86+
- name: 'Upload Artifacts for Diagnostics'
87+
if: ${{ failure() }}
88+
uses: actions/upload-artifact@v2
89+
with:
90+
name: artifact_diag_${{ matrix.os }}_${{ matrix.c-compiler }}
91+
path: artifact_diag_${{ matrix.os }}_${{ matrix.c-compiler }}.tar.gz
92+
93+
# TODO: Maybe do some basic installation checking.
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
name: 'Windows Build Compatibility Tests'
2+
3+
on:
4+
workflow_dispatch
5+
6+
jobs:
7+
build_windows:
8+
name: Visual Studio ${{ matrix.visual-studio }} ${{ matrix.configuration }} ${{ matrix.platform }} ${{ matrix.compatibility}}
9+
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
visual-studio: [2015, 2017, 2019]
15+
variant: [64, sse2, 32]
16+
compatibility: ['', xp]
17+
exclude:
18+
- visual-studio: 2019
19+
compatibility: xp
20+
include:
21+
# Set up various options based on Visual Studio version to emulate
22+
- visual-studio: 2015
23+
os: windows-2016
24+
toolset: v140
25+
solution: vs10
26+
- visual-studio: 2017
27+
os: windows-2016
28+
toolset: v141
29+
solution: vs10
30+
- visual-studio: 2019
31+
os: windows-2019
32+
toolset: v142
33+
solution: vs10
34+
# Pick configuration / paltform combo
35+
- variant: 64
36+
configuration: Release
37+
platform: x64
38+
- variant: sse2
39+
configuration: Release-SSE2
40+
platform: Win32
41+
- variant: 32
42+
configuration: Release
43+
platform: Win32
44+
# Set up various options based on compatibility requirements
45+
- compatibility: ''
46+
toolset-variant: ''
47+
msbuild-options: ''
48+
- compatibility: xp
49+
toolset-variant: '_xp'
50+
msbuild-options: '/p:TargetUniversalCRTVersion=10.0.10586.0'
51+
52+
steps:
53+
54+
- name: 'Matrix Diagnostics'
55+
shell: bash
56+
run: |
57+
echo '${{ toJSON(matrix) }}'
58+
59+
- name: 'Check out Repository'
60+
uses: actions/checkout@v2
61+
62+
- name: 'Add MSBuild to PATH'
63+
uses: microsoft/[email protected]
64+
65+
- name: 'Patch povray.h'
66+
shell: pwsh
67+
run: |
68+
(Get-Content source\backend\povray.h).replace('FILL IN NAME HERE.........................', 'GitHub') | Set-Content source\backend\povray.h
69+
(Get-Content source\backend\povray.h).replace('#error Please complete the following DISTRIBUTION_MESSAGE_2 definition', '') | Set-Content source\backend\povray.h
70+
71+
- name: 'Build'
72+
uses: POV-Ray/povray/.github/actions/windows_build@gh-actions-v1
73+
with:
74+
pov-ray-build-id: ghvs${{matrix.visual-studio}}${{github.run_number}}${{matrix.compatibility}}
75+
solution: ${{matrix.solution}}
76+
configuration: ${{matrix.configuration}}
77+
platform: ${{matrix.platform}}
78+
toolset: ${{matrix.toolset}}${{matrix.toolset-variant}}
79+
msbuild-options: ${{matrix.msbuild-options}}
80+
- name: 'Unpatch povray.h'
81+
shell: bash
82+
run: git checkout source/backend/povray.h
83+
- name: 'Sanity-Check Working Tree'
84+
uses: POV-Ray/povray/.github/actions/git_check_repo@gh-actions-v1
85+
- name: 'Upload Artifacts for Manual Testing'
86+
uses: actions/upload-artifact@v2
87+
with:
88+
name: artifact_bin_${{matrix.visual-studio}}_${{matrix.variant}}${{matrix.compatibility}}
89+
path: windows/${{matrix.solution}}/bin*/*.exe

.gitignore

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,11 @@ $RECYCLE.BIN/
150150
# POV-Ray Windows build artefacts
151151
# ===============================
152152

153+
/libraries/ilmbase/Half/eLut.h
154+
/libraries/ilmbase/Half/toFloat.h
155+
/libraries/png/pnglibconf.h
156+
/libraries/tiff/libtiff/tif_config.h
157+
/libraries/tiff/libtiff/tiffconf.h
153158
/windows/vs*/.vs/
154159
/windows/vs*/bin32/
155160
/windows/vs*/bin64/
@@ -207,6 +212,7 @@ $RECYCLE.BIN/
207212
# Files created by configure script in specific subdirectories
208213
/platform/Makefile
209214
/source/Makefile
215+
/source/jversion.h
210216
/unix/Makefile
211217
/unix/config.h
212218
/unix/stamp-h1
@@ -243,3 +249,10 @@ $RECYCLE.BIN/
243249
/tools/windows/htmlhelp/output
244250
/tools/windows/htmlhelp/debug.txt
245251
/tools/windows/htmlhelp/filelist.txt
252+
253+
# ========================
254+
# GitHub Actions artefacts
255+
# ========================
256+
257+
# Used specifically by our own workflows
258+
/artifact*

.travis.yml

Lines changed: 0 additions & 50 deletions
This file was deleted.

0 commit comments

Comments
 (0)