Skip to content

Enable Build On Windows #73

Enable Build On Windows

Enable Build On Windows #73

Workflow file for this run

name: liboqs-java CI
on:
push:
branches: ["**"]
pull_request:
branches: ["**"]
repository_dispatch:
types: ["**"]
jobs:
workflowcheck:
name: Check validity of GitHub workflows
runs-on: ubuntu-latest
container: openquantumsafe/ci-ubuntu-latest:latest
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
- name: Ensure GitHub actions are valid
run: actionlint -shellcheck "" # run *without* shellcheck
linux:
needs: workflowcheck
runs-on: ubuntu-latest
container: openquantumsafe/ci-ubuntu-latest:latest
steps:
- name: Checkout liboqs-java
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
- name: Checkout liboqs main
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
with:
repository: open-quantum-safe/liboqs
path: liboqs
ref: main
- name: Build liboqs
<<<<<<< HEAD

Check failure on line 36 in .github/workflows/java.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/java.yml

Invalid workflow file

You have an error in your yaml syntax on line 36
run: mkdir build && cd build && cmake .. -G"Ninja" -DOQS_BUILD_ONLY_LIB=ON && ninja install
=======
run: mkdir build && cd build && cmake .. -G"Ninja" -DBUILD_SHARED_LIBS=ON -DOQS_BUILD_ONLY_LIB=ON && ninja install
>>>>>>> upstream/master
working-directory: liboqs
- name: Resolve all maven project dependencies
run: mvn dependency:go-offline
- name: Build liboqs-java and run tests
run: export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" && mvn package
- name: Compile KEM, Signatures and Rand examples
run: |
javac -cp target/liboqs-java.jar examples/KEMExample.java &&
javac -cp target/liboqs-java.jar examples/SigExample.java &&
javac -cp target/liboqs-java.jar examples/RandExample.java
macos:
needs: workflowcheck
runs-on: macos-latest
steps:
- name: Install Python
uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # pin@v5
with:
python-version: '3.12'
- name: Checkout liboqs-java
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
- name: Checkout liboqs main
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
with:
repository: open-quantum-safe/liboqs
path: liboqs
ref: main
- name: Install liboqs dependencies
run: env HOMEBREW_NO_AUTO_UPDATE=1 brew install ninja && pip3 install --require-hashes --break-system-packages -r .github/workflows/requirements.txt
working-directory: liboqs
- name: Build liboqs
<<<<<<< HEAD
run: mkdir build && cd build && cmake .. -G"Ninja" -DOQS_BUILD_ONLY_LIB=ON && sudo ninja install
=======
run: mkdir build && cd build && cmake .. -G"Ninja" -DBUILD_SHARED_LIBS=ON -DOQS_BUILD_ONLY_LIB=ON && sudo ninja install
>>>>>>> upstream/master
working-directory: liboqs
- name: Resolve all maven project dependencies
run: mvn dependency:go-offline
- name: Build liboqs-java and run tests
run: export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:/usr/local/lib" && mvn -P macosx package
- name: Compile KEM, Signatures and Rand examples
run: |
javac -cp target/liboqs-java.jar examples/KEMExample.java &&
javac -cp target/liboqs-java.jar examples/SigExample.java &&
javac -cp target/liboqs-java.jar examples/RandExample.java
<<<<<<< HEAD
windows:
needs: workflowcheck
runs-on: windows-latest
steps:
- name: Install MSYS2
uses: msys2/setup-msys2@v2
with:
update: true
install: >-
mingw-w64-x86_64-gcc
mingw-w64-x86_64-ninja
mingw-w64-x86_64-cmake
make
- name: Set up JDK
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'maven'
- name: Checkout liboqs-java
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
- name: Checkout liboqs main
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # pin@v4
with:
repository: open-quantum-safe/liboqs
path: liboqs
ref: main
- name: Build liboqs (static library)
shell: msys2 {0}
run: |
cd liboqs
mkdir build
cd build
cmake .. -G "Ninja" -DOQS_BUILD_ONLY_LIB=ON -DBUILD_SHARED_LIBS=OFF
ninja
- name: Resolve Maven dependencies
run: mvn dependency:go-offline
- name: Build liboqs-java and run tests
run: |
$env:Path += ";$env:GITHUB_WORKSPACE\liboqs\build\lib"
mvn -P windows -Dliboqs.include.dir="$env:GITHUB_WORKSPACE\liboqs\build\include" -Dliboqs.lib.dir="$env:GITHUB_WORKSPACE\liboqs\build\lib" package
- name: Compile KEM, Signatures and Rand examples
run: |
javac -cp target\liboqs-java.jar examples\KEMExample.java
javac -cp target\liboqs-java.jar examples\SigExample.java
javac -cp target\liboqs-java.jar examples\RandExample.java
=======
>>>>>>> upstream/master