Skip to content

[pscm-core] a new simplest implementation based on LLVM #186

[pscm-core] a new simplest implementation based on LLVM

[pscm-core] a new simplest implementation based on LLVM #186

Workflow file for this run

name: MacOS Bazel
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build_with_bazel:
runs-on: macos-14
steps:
- uses: actions/checkout@v3
- name: Mount bazel cache
uses: actions/cache@v3
with:
path: |
/private/var/tmp/_bazel_runner/
key: ${{ runner.os }}-bazel-${{ hashFiles('.bazelversion', '.bazelrc', 'WORKSPACE', 'WORKSPACE.bazel', 'MODULE.bazel') }}
restore-keys: |
${{ runner.os }}-bazel-
- name: Build
run: bazel build \:all --config=macos
- name: Test
run: bazel test \:all --config=macos --test_output=errors
- name: Test Java Binding
run: bazel run //binding/java:pscm_java_api_test
- name: Build with MLIR
run: bazel build \:all --config=macos --define codegen=mlir
- name: Test with MLIR
run: bazel test \:all --config=macos --define codegen=mlir --test_output=errors
- name: Build ios App
# build with c++20
# workaround from https://github.com/bazelbuild/bazel/issues/12716#issuecomment-1113754835
run: bazel build //ios/app:ios-app "--per_file_copt=.*\.mm\$@-std=c++20" "--per_file_copt=.*\.cpp\$@-std=c++20" --config=macos
- name: Upload ios ipa
uses: actions/upload-artifact@v3
with:
name: ios-pscm
path: |
bazel-bin/ios/app/ios-app.runfiles/dev_pscm/ios/app/ios-app.ipa
- name: Build wasm
run: bazel build //wasm:pscm-wasm -c opt
- name: Upload macOS wasm
uses: actions/upload-artifact@v3
with:
name: macos-pscm-wasm
path: bazel-bin/wasm/
- name: Build krabby
run: bazel build //project/krabby:krabby -c opt
- name: Build krabby wasm
run: bazel build //project/krabby:krabby-wasm -c opt --config=wasm