Skip to content

Commit 79090b5

Browse files
committed
add windows CI
Signed-off-by: adijeshen <[email protected]>
1 parent d91cbe5 commit 79090b5

File tree

1 file changed

+56
-2
lines changed

1 file changed

+56
-2
lines changed

.github/workflows/java.yml

Lines changed: 56 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
path: liboqs
3434
ref: main
3535
- name: Build liboqs
36-
run: mkdir build && cd build && cmake .. -G"Ninja" -DBUILD_SHARED_LIBS=ON -DOQS_BUILD_ONLY_LIB=ON && ninja install
36+
run: mkdir build && cd build && cmake .. -G"Ninja" -DOQS_BUILD_ONLY_LIB=ON && ninja install
3737
working-directory: liboqs
3838
- name: Resolve all maven project dependencies
3939
run: mvn dependency:go-offline
@@ -65,7 +65,7 @@ jobs:
6565
run: env HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja && pip3 install --require-hashes --break-system-packages -r .github/workflows/requirements.txt
6666
working-directory: liboqs
6767
- name: Build liboqs
68-
run: mkdir build && cd build && cmake .. -G"Ninja" -DBUILD_SHARED_LIBS=ON -DOQS_BUILD_ONLY_LIB=ON && sudo ninja install
68+
run: mkdir build && cd build && cmake .. -G"Ninja" -DOQS_BUILD_ONLY_LIB=ON && sudo ninja install
6969
working-directory: liboqs
7070
- name: Resolve all maven project dependencies
7171
run: mvn dependency:go-offline
@@ -76,3 +76,57 @@ jobs:
7676
javac -cp target/liboqs-java.jar examples/KEMExample.java &&
7777
javac -cp target/liboqs-java.jar examples/SigExample.java &&
7878
javac -cp target/liboqs-java.jar examples/RandExample.java
79+
80+
windows:
81+
needs: workflowcheck
82+
runs-on: windows-latest
83+
steps:
84+
- name: Install MSYS2
85+
uses: msys2/setup-msys2@v2
86+
with:
87+
update: true
88+
install: >-
89+
mingw-w64-x86_64-gcc
90+
mingw-w64-x86_64-ninja
91+
mingw-w64-x86_64-cmake
92+
make
93+
94+
- name: Set up JDK
95+
uses: actions/setup-java@v3
96+
with:
97+
distribution: 'temurin'
98+
java-version: '17'
99+
cache: 'maven'
100+
101+
- name: Checkout liboqs-java
102+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
103+
104+
- name: Checkout liboqs main
105+
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
106+
with:
107+
repository: open-quantum-safe/liboqs
108+
path: liboqs
109+
ref: main
110+
111+
- name: Build liboqs (static library)
112+
shell: msys2 {0}
113+
run: |
114+
cd liboqs
115+
mkdir build
116+
cd build
117+
cmake .. -G "Ninja" -DOQS_BUILD_ONLY_LIB=ON -DBUILD_SHARED_LIBS=OFF
118+
ninja
119+
120+
- name: Resolve Maven dependencies
121+
run: mvn dependency:go-offline
122+
123+
- name: Build liboqs-java and run tests
124+
run: |
125+
$env:Path += ";$env:GITHUB_WORKSPACE\liboqs\build\lib"
126+
mvn -P windows -Dliboqs.include.dir="$env:GITHUB_WORKSPACE\liboqs\build\include" -Dliboqs.lib.dir="$env:GITHUB_WORKSPACE\liboqs\build\lib" package
127+
128+
- name: Compile KEM, Signatures and Rand examples
129+
run: |
130+
javac -cp target\liboqs-java.jar examples\KEMExample.java
131+
javac -cp target\liboqs-java.jar examples\SigExample.java
132+
javac -cp target\liboqs-java.jar examples\RandExample.java

0 commit comments

Comments
 (0)