mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
Signed-off-by: Renegade334 <contact.9a5d6388@renegade334.me.uk> PR-URL: https://github.com/nodejs/node/pull/64985 Reviewed-By: Aviv Keller <me@aviv.sh> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
141 lines
4.4 KiB
YAML
141 lines
4.4 KiB
YAML
name: Test macOS
|
|
|
|
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened, ready_for_review]
|
|
paths-ignore:
|
|
- '**.md'
|
|
- '**.nix'
|
|
- eslint.config.mjs
|
|
- '**/eslint.config_partial.mjs'
|
|
- android-configure
|
|
- android-configure.py
|
|
- android-patches/**
|
|
- benchmarks/**
|
|
- codecov.yml
|
|
- doc/**
|
|
- pyproject.yml
|
|
- tsconfig.json
|
|
- test/internet/**
|
|
- tools/actions/**
|
|
- tools/dep_updaters/**
|
|
- tools/doc/**
|
|
- tools/eslint-rules/**
|
|
- tools/eslint/**
|
|
- tools/lint-md/**
|
|
- typings/**
|
|
- vcbuild.bat
|
|
- .**
|
|
- '!.github/workflows/test-macos.yml'
|
|
push:
|
|
branches:
|
|
- main
|
|
- canary
|
|
- v[0-9]+.x-staging
|
|
- v[0-9]+.x
|
|
paths-ignore:
|
|
- '**.md'
|
|
- '**.nix'
|
|
- eslint.config.mjs
|
|
- '**/eslint.config_partial.mjs'
|
|
- android-configure
|
|
- android-configure.py
|
|
- android-patches/**
|
|
- benchmarks/**
|
|
- codecov.yml
|
|
- doc/**
|
|
- pyproject.yml
|
|
- tsconfig.json
|
|
- test/internet/**
|
|
- tools/actions/**
|
|
- tools/dep_updaters/**
|
|
- tools/doc/**
|
|
- tools/eslint-rules/**
|
|
- tools/eslint/**
|
|
- tools/lint-md/**
|
|
- typings/**
|
|
- vcbuild.bat
|
|
- .**
|
|
- '!.github/workflows/test-macos.yml'
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
PYTHON_VERSION: '3.14'
|
|
XCODE_VERSION: '16.4'
|
|
FLAKY_TESTS: keep_retrying
|
|
RUSTC_VERSION: '1.86'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test-macOS:
|
|
if: github.event.pull_request.draft == false
|
|
strategy:
|
|
fail-fast: false
|
|
runs-on: macos-15
|
|
env:
|
|
CC: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} gcc
|
|
CXX: ${{ (github.base_ref == 'main' || github.ref_name == 'main') && 'sccache' || '' }} g++
|
|
SCCACHE_GHA_ENABLED: ${{ github.base_ref == 'main' || github.ref_name == 'main' }}
|
|
SCCACHE_IDLE_TIMEOUT: '0'
|
|
steps:
|
|
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
with:
|
|
persist-credentials: false
|
|
path: node
|
|
- name: Set up Python ${{ env.PYTHON_VERSION }}
|
|
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
|
|
with:
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
allow-prereleases: true
|
|
- name: Set up Xcode ${{ env.XCODE_VERSION }}
|
|
run: sudo xcode-select -s /Applications/Xcode_${{ env.XCODE_VERSION }}.app
|
|
- name: Install Rust ${{ env.RUSTC_VERSION }}
|
|
run: |
|
|
rustup override set "$RUSTC_VERSION"
|
|
rustup --version
|
|
- name: Set up sccache
|
|
if: github.base_ref == 'main' || github.ref_name == 'main'
|
|
uses: Mozilla-Actions/sccache-action@fc920bf0ec8de6ee65d409111f7ec508035751ba # v0.0.11
|
|
with:
|
|
version: v0.17.0
|
|
# The `npm ci` for this step fails a lot as part of the Test step. Run it
|
|
# now so that we don't have to wait 2 hours for the Build step to pass
|
|
# first before that failure happens. (And if there's something about
|
|
# `make run-ci -j3` that is causing the failure and the failure doesn't
|
|
# happen anymore running this step here first, that's also useful
|
|
# information.)
|
|
- name: tools/doc/node_modules workaround
|
|
run: make -C node tools/doc/node_modules
|
|
# This is needed due to https://github.com/nodejs/build/issues/3878
|
|
- name: Cleanup
|
|
run: |
|
|
echo "::group::Free space before cleanup"
|
|
df -h
|
|
echo "::endgroup::"
|
|
echo "::group::Cleaned Files"
|
|
|
|
sudo rm -rf /Users/runner/Library/Android/sdk
|
|
|
|
echo "::endgroup::"
|
|
echo "::group::Free space after cleanup"
|
|
df -h
|
|
echo "::endgroup::"
|
|
- name: Build
|
|
run: make -C node build-ci -j$(getconf _NPROCESSORS_ONLN) V=1 CONFIG_FLAGS="--error-on-warn --v8-enable-temporal-support"
|
|
- name: Free Space After Build
|
|
run: df -h
|
|
- name: Test
|
|
run: make -C node test-ci -j1 V=1 TEST_CI_ARGS="-p actions --measure-flakiness 9"
|
|
- name: Re-run test in a folder whose name contains unusual chars
|
|
run: |
|
|
mv node "$DIR"
|
|
cd "$DIR"
|
|
./tools/test.py --flaky-tests keep_retrying -p actions -j 4
|
|
env:
|
|
DIR: dir%20with $unusual"chars?'åß∂ƒ©∆¬…`
|