Add sandboxing to the tooling and ci. #362
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
name: MacOS Test | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
tags: | |
- "v*.*.*" | |
branches: | |
- master | |
- develop | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
mac-test: | |
name: MacOS Clang Test | |
runs-on: macos-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
options: [ | |
{build: debug, sanitizer: without-sanitizer}, | |
{build: debug, sanitizer: address-sanitizer}, | |
{build: debug, sanitizer: thread-sanitizer}, | |
{build: release, sanitizer: without-sanitizer} | |
] | |
env: | |
LTTNG_UST_REGISTER_TIMEOUT: 0 | |
NUGET_XMLDOC_MODE: skip | |
DOTNET_CLI_TELEMETRY_OPTOUT: "true" | |
steps: | |
- name: Check out the repository | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Uninstall NodeJS and NPM | |
run: | | |
npm uninstall npm -g | |
rm -rf /usr/local/lib/node_modules/npm | |
- name: Uninstall Ruby | |
run: | | |
brew uninstall --force ruby | |
brew autoremove | |
RUBY_FRAMEWORK_DIR=$(xcrun --sdk macosx --show-sdk-path)/System/Library/Frameworks/Ruby.framework | |
sudo rm -rf $RUBY_FRAMEWORK_DIR | |
- name: Uninstall Go | |
run: | | |
brew uninstall --force go | |
brew autoremove | |
sudo rm -rf /usr/local/Cellar/go | |
sudo rm -rf /usr/local/go | |
sudo rm -rf /usr/local/opt/go | |
sudo rm -rf /etc/paths.d/go | |
sudo rm -rf /usr/local/bin/go | |
sudo rm -rf /usr/local/bin/gofmt | |
- name: Uninstall Java | |
run: | | |
sudo rm -rf /Library/Java/JavaVirtualMachines/* | |
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin | |
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane | |
unset JAVA_HOME | |
- name: Set up the environment | |
run: sh ./tools/metacall-environment.sh $METACALL_INSTALL_OPTIONS | |
env: | |
METACALL_INSTALL_OPTIONS: base python nodejs typescript java ruby wasm rpc file cobol go backtrace #netcore5 c rust rapidjson funchook swig pack # clangformat v8rep51 coverage | |
- name: Configure | |
run: | | |
cd build | |
. .env | |
bash ../tools/metacall-configure.sh $METACALL_CONFIGURE_OPTIONS | |
env: | |
METACALL_CONFIGURE_OPTIONS: ${{ matrix.options.build }} ${{ matrix.options.sanitizer }} scripts ports tests python nodejs typescript java ruby wasm rpc file cobol go benchmarks install # netcore5 c rust examples pack # v8 coverage | |
- name: Build | |
working-directory: ./build | |
# TODO: Remove the disable option for fork safe once funchook problem is solved | |
run: | | |
. .env | |
cmake -DOPTION_FORK_SAFE=OFF .. | |
bash ../tools/metacall-build.sh $METACALL_BUILD_OPTIONS | |
env: | |
METACALL_BUILD_OPTIONS: ${{ matrix.options.build }} tests |