adding macOS M1 action #38
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: CI | |
on: | |
push: | |
paths-ignore: | |
- 'samples/*' | |
- 'stress/*' | |
- 'performance/*' | |
- '.github/FUNDING.YML' | |
- '**/*.md' | |
- '**/*.d.ts' | |
- '**/*.bat' | |
- '.travis.yml' | |
- 'Dockerfile' | |
- '.gitconfig' | |
- '.gitignore' | |
- 'appveyor*.*' | |
- 'LICENSE*' | |
- '.idea/**' | |
- '.vscode/**' | |
- '*.bat' | |
- '*.nuspec' | |
- 'tools/nuget/*' | |
- '.npmignore' | |
- 'test/config.json' | |
- 'test/config.json' | |
- 'test/double' | |
env: | |
ACTIONS_ALLOW_UNSECURE_COMMANDS: true # required to setup CSC | |
jobs: | |
build-test: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# os: [macos-latest, ubuntu-latest, windows-2019] | |
# node: [21.x, 20.x, 18.x, 16.x] | |
os: [macos-14] | |
node: [20.x] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Setup NodeJS | |
uses: actions/setup-node@v4 | |
with: | |
node-version: '${{ matrix.node }}' | |
- if: runner.os == 'Windows' | |
name: Setup CSC for Windows | |
uses: yoavain/Setup-CSC@v5 | |
- name: Setup dotnet | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' # SDK Version to use; x will use the latest version of the 8.0 channel | |
- name: Versions | |
run: node -v && npm -v && dotnet --version && node -p process.platform && node -p process.arch | |
- if: runner.os == 'macOS' | |
name: Remove Mono from macOS # Incomplete Mono install interferes with gyp compile | |
run: | | |
sudo rm -rf /Library/Frameworks/Mono.framework | |
sudo pkgutil --forget com.xamarin.mono-MDK.pkg | |
sudo rm /etc/paths.d/mono-commands | |
- if: runner.os == 'macOS' && matrix.node == '16.x' | |
name: Add missing packages for macOS NodeJs 16 | |
run: | | |
pip install setuptools | |
- name: npm install | |
run: npm ci | |
- if: runner.os == 'Windows' | |
name: Run .NET 4.x tests | |
run: node tools/test.js CI | |
- name: "Run .net core tests" | |
run: node tools/test.js CI | |
env: | |
EDGE_USE_CORECLR: 1 | |
- name: Test Report | |
uses: phoenix-actions/test-reporting@v15 | |
if: success() | |
with: | |
name: Tests (${{ matrix.os }}, ${{ matrix.node }}) # Name of the check run which will be created | |
path: mochawesome.json # Path to test results | |
reporter: mochawesome-json | |
fail-on-error: false | |