-
-
Notifications
You must be signed in to change notification settings - Fork 62
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
simplified new build system using build/plugins.mk
eliminate repetition and typos by putting all build time flags into a single place, supports COMPILER and CCACHE for now. update CI worlflows to use new build system standalone build of zencode-exec target for bindings for python, rust and golang only the zencode-exec binary is needed
- Loading branch information
Showing
11 changed files
with
113 additions
and
115 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -173,11 +173,12 @@ jobs: | |
if: "!contains(github.event.pull_request.labels.*.name, 'SKIP_GO')" | ||
strategy: | ||
matrix: | ||
go: ['1.21', '1.22'] | ||
go: ['1.23.1', '1.22.7'] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- uses: hendrikmuhs/[email protected] | ||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ matrix.go }} | ||
|
@@ -187,10 +188,10 @@ jobs: | |
python-version: '3.10' | ||
- run: | | ||
pip3 install meson ninja | ||
sudo apt-get install --force-yes zsh libreadline-dev | ||
sudo apt-get install -qy zsh libreadline-dev | ||
- run: | | ||
make linux | ||
- run: cp src/zencode-exec /usr/local/bin/ | ||
make -f build/linux.mk deps zencode-exec CCACHE=1 | ||
cp zencode-exec /usr/local/bin/ | ||
- name: 🧪 test bindings go-${{ matrix.go }} | ||
working-directory: bindings/golang/zenroom | ||
run: make test | ||
|
@@ -209,14 +210,16 @@ jobs: | |
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
- uses: hendrikmuhs/[email protected] | ||
- uses: dtolnay/rust-toolchain@stable | ||
with: | ||
toolchain: ${{ matrix.rust }} | ||
- run: | | ||
pip3 install meson ninja | ||
sudo apt-get install --force-yes zsh libreadline-dev | ||
- run: make linux | ||
- run: cp src/zencode-exec /usr/local/bin/ | ||
sudo apt-get install -qy zsh libreadline-dev | ||
- run: | | ||
make -f build/linux.mk CCACHE=1 | ||
cp zencode-exec /usr/local/bin/ | ||
- name: 🧪 test bindings rust-${{ matrix.rust }} | ||
working-directory: bindings/rust | ||
run: cargo test | ||
|
@@ -266,16 +269,25 @@ jobs: | |
- uses: mymindstorm/setup-emsdk@v14 | ||
with: | ||
version: ${{ env.EM_VERSION }} | ||
- run: sudo apt-get update; sudo apt-get install zsh meson ninja-build | ||
- run: yarn --cwd bindings/javascript | ||
- run: yarn --cwd bindings/javascript build | ||
- name: Install dependencies | ||
run: | | ||
sudo apt-get -qy update | ||
sudo apt-get install -qy zsh meson ninja-build | ||
- name: Install yarn dependencies | ||
run: | | ||
yarn --cwd bindings/javascript | ||
- name: Build Zenroom Wasm | ||
run: | | ||
yarn --cwd bindings/javascript build | ||
env: | ||
EMSCRIPTEN: ${{ env.EMSDK }}/upstream/emscripten | ||
- name: 🧪 test bindings node-${{ matrix.node-version }} | ||
run: yarn --cwd bindings/javascript test | ||
run: | | ||
yarn --cwd bindings/javascript test | ||
- name: 🔐 check crypto with node-${{ matrix.node-version }} | ||
working-directory: ./ | ||
run: make check-js | ||
run: | | ||
make check-js | ||
python-check: | ||
name: 🐍 Python checks | ||
|
@@ -297,16 +309,27 @@ jobs: | |
- uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- run: | | ||
- name: Install dependencies on Linux | ||
run: | | ||
sudo apt update | ||
sudo apt install -y zsh cmake libreadline-dev | ||
sudo apt install -yq zsh cmake libreadline-dev | ||
if: runner.os == 'Linux' | ||
- run: brew install zsh | ||
- name: Install dependencies on Apple/OSX | ||
run: | | ||
brew install zsh | ||
if: runner.os == 'macOS' | ||
- run: | | ||
- name: Build zencode-exec on Linux | ||
run: | | ||
cd ../.. | ||
make -f build/linux.mk deps zencode-exec | ||
cp zencode-exec /usr/local/bin/ | ||
if: runner.os == 'Linux' | ||
- name: Build zencode-exec on Apple/OSX | ||
run: | | ||
cd ../.. | ||
make linux | ||
cp src/zencode-exec /usr/local/bin/ | ||
make -f build/apple-osx.mk deps zencode-exec.command | ||
cp zencode-exec.command /usr/local/bin/zencode-exec | ||
if: runner.os == 'macOS' | ||
- run: | | ||
./prepare.sh | ||
pipx install meson | ||
|
@@ -362,9 +385,16 @@ jobs: | |
- uses: mymindstorm/setup-emsdk@v14 | ||
with: | ||
version: ${{ env.EM_VERSION }} | ||
- run: sudo apt-get update; sudo apt-get install zsh meson ninja-build | ||
- run: yarn --cwd bindings/javascript | ||
- run: yarn --cwd bindings/javascript build | ||
- name: Install dependencies | ||
run: | | ||
sudo apt-get -qy update | ||
sudo apt-get install -qy zsh meson ninja-build | ||
- name: Install yarn dependencies | ||
run: | | ||
yarn --cwd bindings/javascript | ||
- name: Build Zenroom Wasm | ||
run: | | ||
yarn --cwd bindings/javascript build | ||
env: | ||
EMSCRIPTEN: ${{ env.EMSDK }}/upstream/emscripten | ||
- uses: actions/upload-artifact@v4 | ||
|
@@ -395,23 +425,22 @@ jobs: | |
build/release-intro.md | ||
- name: Install build deps | ||
run: | | ||
sudo apt install zsh tree jq cmake make gcc g++ musl-dev meson clang gcc-mingw-w64 g++-mingw-w64 libreadline-dev ccache | ||
- name: Build mimalloc | ||
run: make mimalloc | ||
sudo apt install -qy zsh tree jq cmake make gcc g++ musl-dev meson clang gcc-mingw-w64 g++-mingw-w64 libreadline-dev ccache | ||
- name: Build x86_64 with musl-system | ||
run: make musl-system | ||
run: | | ||
make -f build/musl-linux.mk CCACHE=1 | ||
- name: Upload artifact linux-amd64 | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: release-bin-linux-amd64 | ||
path: | | ||
src/zenroom | ||
src/zencode-exec | ||
zenroom | ||
zencode-exec | ||
- name: Clean for next build | ||
run: make clean | ||
- name: Build x86_64 shlib | ||
run: | | ||
make linux-meson-clang-release | ||
make -f build/meson.mk | ||
- name: Upload artifact linux-lib-amd64 | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.