Skip to content

wip4

wip4 #242

Workflow file for this run

name: CI
on:
push:
branches:
- develop
paths-ignore:
- '**/README.md'
- '**/CHANGELOG.md'
jobs:
build-windows:
runs-on: windows-latest
timeout-minutes: 30
strategy:
fail-fast: true
env:
VYBE_VERSION_SUFFIX: win-x64
VYBE_DEBUG: true
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }} # checkout the correct branch name
fetch-depth: 0 # fetch the whole repo history
- uses: ilammy/msvc-dev-cmd@v1
- name: Populate submodules
run: |
git submodule update --init --recursive
- name: Get CMake
uses: lukka/[email protected]
- name: Configure win-x64
working-directory: JoltPhysicsSharp
run: |
cmake -S "." -B "build_win_64" -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE:String=Distribution
- name: Build win-x64
working-directory: JoltPhysicsSharp
run: |
cmake --build build_win_64 --config Distribution
bash -c "cp build_win_64/bin/Distribution/joltc.dll ../native/joltc_zig.dll"
- name: Prepare java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '22'
- name: Install clojure tools
uses: DeLaGuardo/[email protected]
with:
cli: latest
- name: install tools
run: |
curl -o jextract.tar.gz https://download.java.net/java/early_access/jextract/22/5/openjdk-22-jextract+5-33_windows-x64_bin.tar.gz
tar -xvzf jextract.tar.gz
- name: install bake
run: |
git clone https://github.com/SanderMertens/bake
cd bake\build-Windows
nmake
cd ..
./bake setup --local
- name: compile and jextract native modules
run: |
bash -c "bin/ci_windows.sh"
clojure -T:build compile-app
- name: run tests
run: |
clojure -M:dev:win -m vybe.native.loader && clojure -M:test:win
- name: build
run: |
clojure -T:build jar
bash -c "bin/ci_windows_build.sh"
- name: deploy
run: |
mvn deploy
env:
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
DEPLOY_USERNAME: ${{ secrets.DEPLOY_USERNAME }}
build-linux:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: true
env:
VYBE_VERSION_SUFFIX: linux-x64
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }} # checkout the correct branch name
fetch-depth: 0 # fetch the whole repo history
- uses: mlugg/setup-zig@v1
- name: Prepare java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '22'
- name: Install clojure tools
uses: DeLaGuardo/[email protected]
with:
cli: latest
- name: install tools
run: |
wget -O jextract.tar.gz https://download.java.net/java/early_access/jextract/22/5/openjdk-22-jextract+5-33_linux-x64_bin.tar.gz
tar -xvzf jextract.tar.gz
sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libxkbcommon-dev
- name: install bake
run: |
git clone https://github.com/SanderMertens/bake
make -C bake/build-$(uname)
bake/bake setup
- name: compile and jextract native modules
run: |
bin/ci.sh
- name: run tests
run: |
bin/kaocha
- name: build
run: |
bin/ci_build.sh
- name: deploy
run: |
mvn deploy
env:
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
DEPLOY_USERNAME: ${{ secrets.DEPLOY_USERNAME }}
build-macos:
runs-on: macOS-latest
timeout-minutes: 30
strategy:
fail-fast: true
env:
VYBE_VERSION_SUFFIX: macos-universal
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }} # checkout the correct branch name
fetch-depth: 0 # fetch the whole repo history
- uses: mlugg/setup-zig@v1
- name: Prepare java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '22'
- name: Install clojure tools
uses: DeLaGuardo/[email protected]
with:
cli: latest
- name: install tools
run: |
wget -O jextract.tar.gz https://download.java.net/java/early_access/jextract/22/5/openjdk-22-jextract+5-33_macos-aarch64_bin.tar.gz
tar -xvzf jextract.tar.gz
- name: install bake
run: |
git clone https://github.com/SanderMertens/bake
make -C bake/build-$(uname)
bake/bake setup
- name: compile and jextract native modules
run: |
bin/ci.sh
- name: run tests
run: |
bin/kaocha
- name: build
run: |
bin/ci_build.sh
- name: deploy
run: |
echo $DEPLOY_USERNAME
mvn deploy
env:
DEPLOY_TOKEN: ${{ secrets.DEPLOY_TOKEN }}
DEPLOY_USERNAME: ${{ secrets.DEPLOY_USERNAME }}