Skip to content

Commit 2240cff

Browse files
add windows-11-arm CI workflows (#185)
* add Windows 11 ARM CI workflows
1 parent e750dec commit 2240cff

File tree

4 files changed

+330
-0
lines changed

4 files changed

+330
-0
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Windows-ARM-Debug
2+
3+
permissions:
4+
contents: read
5+
pull-requests: write
6+
7+
on:
8+
push:
9+
paths-ignore:
10+
- 'README.md'
11+
- 'doc/**'
12+
pull_request:
13+
paths-ignore:
14+
- 'README.md'
15+
- 'doc/**'
16+
17+
env:
18+
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
19+
BUILD_TYPE: Debug
20+
21+
jobs:
22+
23+
build-openexr3:
24+
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
25+
# You can convert this to a matrix build if you need cross-platform coverage.
26+
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
27+
runs-on: windows-11-arm
28+
29+
steps:
30+
31+
- name: install dependencies - Imath
32+
run: |
33+
cd ..
34+
git clone https://github.com/AcademySoftwareFoundation/Imath.git &&
35+
cd Imath &&
36+
mkdir build &&
37+
mkdir install &&
38+
cd build &&
39+
cmake .. -D"CMAKE_INSTALL_PREFIX=../install" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} &&
40+
cmake --build . --config ${{env.BUILD_TYPE}} &&
41+
cmake --build . --target install --config ${{env.BUILD_TYPE}}
42+
43+
- name: install dependencies - zlib
44+
run: |
45+
cd ..
46+
git clone https://github.com/madler/zlib.git &&
47+
cd zlib &&
48+
mkdir build &&
49+
mkdir install &&
50+
cd build &&
51+
cmake .. -D"CMAKE_INSTALL_PREFIX=../install" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} &&
52+
cmake --build . --config ${{env.BUILD_TYPE}} &&
53+
cmake --build . --target install --config ${{env.BUILD_TYPE}}
54+
55+
- name: install dependencies - openexr
56+
run: |
57+
cd ..
58+
git clone https://github.com/AcademySoftwareFoundation/openexr.git &&
59+
cd openexr &&
60+
git checkout RB-3.1 &&
61+
mkdir build &&
62+
mkdir install &&
63+
cd build &&
64+
cmake .. -D"CMAKE_INSTALL_PREFIX=../install" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_TESTING=OFF -DOPENEXR_BUILD_TOOLS=OFF -DOPENEXR_INSTALL_EXAMPLES=OFF -D "CMAKE_PREFIX_PATH=${{github.workspace}}/../Imath/install/;${{github.workspace}}/../zlib/install/;${{github.workspace}}/../openexr/install/" &&
65+
cmake --build . --config ${{env.BUILD_TYPE}} &&
66+
cmake --build . --target install --config ${{env.BUILD_TYPE}}
67+
68+
- uses: actions/checkout@v4
69+
70+
- name: Configure CMake
71+
# # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
72+
# # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
73+
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D "CMAKE_PREFIX_PATH=${{github.workspace}}/../Imath/install/;${{github.workspace}}/../zlib/install/;${{github.workspace}}/../openexr/install/"
74+
75+
- name: Build
76+
# Build your program with the given configuration
77+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
78+
79+
- name: Install
80+
# Build your program with the given configuration
81+
run: cmake --build ${{github.workspace}}/build --target install --config ${{env.BUILD_TYPE}}
82+
working-directory: ${{github.workspace}}
83+
84+
# - name: Test
85+
# working-directory: ${{github.workspace}}/build
86+
# run: ctest -V --output-on-failure -C ${{env.BUILD_TYPE}}
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
name: Windows-ARM-Release
2+
3+
permissions:
4+
contents: read
5+
pull-requests: write
6+
7+
on:
8+
push:
9+
paths-ignore:
10+
- 'README.md'
11+
- 'doc/**'
12+
pull_request:
13+
paths-ignore:
14+
- 'README.md'
15+
- 'doc/**'
16+
17+
env:
18+
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
19+
BUILD_TYPE: Release
20+
21+
jobs:
22+
23+
build-openexr3:
24+
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
25+
# You can convert this to a matrix build if you need cross-platform coverage.
26+
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
27+
runs-on: windows-11-arm
28+
29+
steps:
30+
31+
- name: install dependencies - Imath
32+
run: |
33+
cd ..
34+
git clone https://github.com/AcademySoftwareFoundation/Imath.git &&
35+
cd Imath &&
36+
mkdir build &&
37+
mkdir install &&
38+
cd build &&
39+
cmake .. -D"CMAKE_INSTALL_PREFIX=../install" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} &&
40+
cmake --build . --config ${{env.BUILD_TYPE}} &&
41+
cmake --build . --target install --config ${{env.BUILD_TYPE}}
42+
43+
- name: install dependencies - zlib
44+
run: |
45+
cd ..
46+
git clone https://github.com/madler/zlib.git &&
47+
cd zlib &&
48+
mkdir build &&
49+
mkdir install &&
50+
cd build &&
51+
cmake .. -D"CMAKE_INSTALL_PREFIX=../install" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} &&
52+
cmake --build . --config ${{env.BUILD_TYPE}} &&
53+
cmake --build . --target install --config ${{env.BUILD_TYPE}}
54+
55+
- name: install dependencies - openexr
56+
run: |
57+
cd ..
58+
git clone https://github.com/AcademySoftwareFoundation/openexr.git &&
59+
cd openexr &&
60+
git checkout RB-3.1 &&
61+
mkdir build &&
62+
mkdir install &&
63+
cd build &&
64+
cmake .. -D"CMAKE_INSTALL_PREFIX=../install" -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_TESTING=OFF -DOPENEXR_BUILD_TOOLS=OFF -DOPENEXR_INSTALL_EXAMPLES=OFF -D "CMAKE_PREFIX_PATH=${{github.workspace}}/../Imath/install/;${{github.workspace}}/../zlib/install/;${{github.workspace}}/../openexr/install/" &&
65+
cmake --build . --config ${{env.BUILD_TYPE}} &&
66+
cmake --build . --target install --config ${{env.BUILD_TYPE}}
67+
68+
- uses: actions/checkout@v4
69+
70+
- name: Configure CMake
71+
# # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
72+
# # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
73+
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D "CMAKE_PREFIX_PATH=${{github.workspace}}/../Imath/install/;${{github.workspace}}/../zlib/install/;${{github.workspace}}/../openexr/install/"
74+
75+
- name: Build
76+
# Build your program with the given configuration
77+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
78+
79+
- name: Install
80+
# Build your program with the given configuration
81+
run: cmake --build ${{github.workspace}}/build --target install --config ${{env.BUILD_TYPE}}
82+
working-directory: ${{github.workspace}}
83+
84+
# - name: Test
85+
# working-directory: ${{github.workspace}}/build
86+
# run: ctest -V --output-on-failure -C ${{env.BUILD_TYPE}}
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: Windows-ARM_vcpkg-Debug
2+
3+
permissions:
4+
contents: read
5+
pull-requests: write
6+
7+
on:
8+
push:
9+
paths-ignore:
10+
- 'README.md'
11+
- 'doc/**'
12+
pull_request:
13+
paths-ignore:
14+
- 'README.md'
15+
- 'doc/**'
16+
17+
env:
18+
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
19+
BUILD_TYPE: Debug
20+
21+
jobs:
22+
23+
build:
24+
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
25+
# You can convert this to a matrix build if you need cross-platform coverage.
26+
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
27+
runs-on: windows-11-arm
28+
29+
steps:
30+
31+
- name: install dependencies - imath
32+
run: vcpkg install imath
33+
34+
- name: install dependencies - openexr
35+
run: vcpkg install openexr
36+
37+
- name: install dependencies - tiff
38+
run: vcpkg install tiff
39+
40+
- name: check vcpkg install status
41+
run: vcpkg list
42+
43+
- uses: actions/checkout@v4
44+
45+
- name: Configure CMake
46+
# # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
47+
# # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
48+
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D "CMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
49+
50+
- name: Build
51+
# Build your program with the given configuration
52+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
53+
54+
- name: Install
55+
# Build your program with the given configuration
56+
run: cmake --build ${{github.workspace}}/build --target install --config ${{env.BUILD_TYPE}}
57+
working-directory: ${{github.workspace}}
58+
59+
test:
60+
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
61+
# You can convert this to a matrix build if you need cross-platform coverage.
62+
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
63+
runs-on: windows-11-arm
64+
65+
steps:
66+
67+
- name: install dependencies - imath
68+
run: vcpkg install imath
69+
70+
- name: install dependencies - openexr
71+
run: vcpkg install openexr
72+
73+
- name: install dependencies - tiff
74+
run: vcpkg install tiff
75+
76+
- name: check vcpkg install status
77+
run: vcpkg list
78+
79+
- uses: actions/checkout@v4
80+
81+
- name: Configure CMake
82+
# # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
83+
# # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
84+
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D "CMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
85+
86+
- name: Build
87+
# Build your program with the given configuration
88+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
89+
90+
- name: Install
91+
# Build your program with the given configuration
92+
run: cmake --build ${{github.workspace}}/build --target install --config ${{env.BUILD_TYPE}}
93+
working-directory: ${{github.workspace}}
94+
95+
- name: Test
96+
working-directory: ${{github.workspace}}/build
97+
run: ctest -V --output-on-failure -C ${{env.BUILD_TYPE}}
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Windows-ARM-vcpkg-Release
2+
3+
permissions:
4+
contents: read
5+
pull-requests: write
6+
7+
on:
8+
push:
9+
paths-ignore:
10+
- 'README.md'
11+
- 'doc/**'
12+
pull_request:
13+
paths-ignore:
14+
- 'README.md'
15+
- 'doc/**'
16+
17+
env:
18+
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
19+
BUILD_TYPE: Release
20+
21+
jobs:
22+
23+
build:
24+
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
25+
# You can convert this to a matrix build if you need cross-platform coverage.
26+
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
27+
runs-on: windows-11-arm
28+
29+
steps:
30+
31+
- name: install dependencies - imath
32+
run: vcpkg install imath
33+
34+
- name: install dependencies - openexr
35+
run: vcpkg install openexr
36+
37+
- name: install dependencies - tiff
38+
run: vcpkg install tiff
39+
40+
- name: check vcpkg install status
41+
run: vcpkg list
42+
43+
- uses: actions/checkout@v4
44+
45+
- name: Configure CMake
46+
# # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
47+
# # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
48+
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -D "CMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake"
49+
50+
- name: Build
51+
# Build your program with the given configuration
52+
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
53+
54+
- name: Install
55+
# Build your program with the given configuration
56+
run: cmake --build ${{github.workspace}}/build --target install --config ${{env.BUILD_TYPE}}
57+
working-directory: ${{github.workspace}}
58+
59+
- name: Test
60+
working-directory: ${{github.workspace}}/build
61+
run: ctest -V --output-on-failure -C ${{env.BUILD_TYPE}}

0 commit comments

Comments
 (0)