Skip to content

build: enable Perfetto by default #5

build: enable Perfetto by default

build: enable Perfetto by default #5

# This action uses the following secrets:
# CACHIX_AUTH_TOKEN: Write access to nodejs.cachix.org – without it, the cache is read-only.
name: Cross build Perfetto tools
on:
push:
branches:
- main
- canary
- v[0-9]+.x-staging
- v[0-9]+.x
paths-ignore:
- '**.md'
- 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/cross-build-perfetto-tools.yml'
pull_request:
paths-ignore:
- '**.md'
- 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/cross-build-perfetto-tools.yml'
types: [opened, synchronize, reopened, ready_for_review]
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
permissions:
contents: read
jobs:
cross-build:
if: github.event.pull_request.draft == false
name: Cross-build trace_processor_shell and validate trace_processor_shell.json
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
sparse-checkout: |
shell.nix
tools/nix/
tools/perfetto/trace_processor_shell.json
sparse-checkout-cone-mode: false
- uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
with:
extra_nix_config: sandbox = true
- uses: cachix/cachix-action@38b082610b782e7e93e209c35fd730d399dee866 # v17
with:
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
name: nodejs
- name: Cross-build trace_processor_shell and validate trace_processor_shell.json
run: |
EXPECTED="$(
nix-build \
-I "nixpkgs=tools/nix/pkgs.nix" \
--no-out-link "tools/nix/cross-compile-perfetto.nix"
)" ACTUAL=./tools/perfetto/trace_processor_shell.json node -e '
assert.deepStrictEqual(
require(process.env.ACTUAL),
require(process.env.EXPECTED),
);'