mirror of
https://github.com/luau-lang/luau.git
synced 2025-05-04 10:33:46 +01:00
linux permissions require all commands to be run under the same user in order to have access to the expected commands
99 lines
3.4 KiB
YAML
99 lines
3.4 KiB
YAML
name: Luau static file analysis
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "feat/add-static-file-luau-analyze"
|
|
pull_request:
|
|
paths-ignore:
|
|
- "docs/**"
|
|
- "papers/**"
|
|
- "rfcs/**"
|
|
- "*.md"
|
|
- "prototyping/**"
|
|
|
|
jobs:
|
|
benchmarks-run:
|
|
name: Run ${{ matrix.bench.title }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
engine:
|
|
- { channel: stable, version: latest }
|
|
bench:
|
|
- {
|
|
script: "run-analyze",
|
|
timeout: 12,
|
|
title: "Luau Analyze",
|
|
cachegrindTitle: "Performance",
|
|
cachegrindIterCount: 20,
|
|
}
|
|
benchResultsRepo:
|
|
- { name: "AllanJeremy/luau-benchmark-results", branch: "main" }
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
with:
|
|
token: "${{ secrets.BENCH_GITHUB_TOKEN }}"
|
|
|
|
- name: Build Luau
|
|
run: make config=release luau luau-analyze
|
|
|
|
- uses: actions/setup-python@v4
|
|
with:
|
|
python-version: "3.9"
|
|
architecture: "x64"
|
|
|
|
- name: Install python dependencies
|
|
run: |
|
|
sudo pip install requests numpy scipy matplotlib ipython jupyter pandas sympy nose
|
|
|
|
- name: Install valgrind
|
|
run: |
|
|
sudo apt-get install valgrind
|
|
|
|
# - name: Run Luau Analyze on static file
|
|
# run: python ./bench/measure_time.py ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee ${{ matrix.bench.script }}-output.txt
|
|
|
|
- name: Run ${{ matrix.bench.title }} (Cold Cachegrind)
|
|
run: sudo ./scripts/run-with-cachegrind.sh python ./bench/measure_time.py "${{ matrix.bench.cachegrindTitle}}Cold" 1 ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee -a ${{ matrix.bench.script }}-output.txt
|
|
|
|
# - name: Run ${{ matrix.bench.title }} (Warm Cachegrind)
|
|
# run: sudo bash ./scripts/run-with-cachegrind.sh python ./bench/measure_time.py "${{ matrix.bench.cachegrindTitle}}" 1 ./build/release/luau-analyze bench/static_analysis/LuauPolyfillMap.lua | tee -a ${{ matrix.bench.script }}-output.txt
|
|
|
|
# - name: Checkout Benchmark Results repository
|
|
# uses: actions/checkout@v3
|
|
# with:
|
|
# repository: ${{ matrix.benchResultsRepo.name }}
|
|
# ref: ${{ matrix.benchResultsRepo.branch }}
|
|
# token: ${{ secrets.BENCH_GITHUB_TOKEN }}
|
|
# path: "./gh-pages"
|
|
|
|
# - name: Store ${{ matrix.bench.title }} result
|
|
# uses: Roblox/rhysd-github-action-benchmark@v-luau
|
|
# with:
|
|
# name: ${{ matrix.bench.title }}
|
|
# tool: "benchmarkluau"
|
|
|
|
# gh-pages-branch: "main"
|
|
# output-file-path: ./${{ matrix.bench.script }}-output.txt
|
|
# external-data-json-path: ./gh-pages/dev/bench/data.json
|
|
# alert-threshold: 150%
|
|
# fail-threshold: 200%
|
|
# fail-on-alert: true
|
|
# comment-on-alert: true
|
|
# comment-always: true
|
|
# github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# - name: Push benchmark results
|
|
# if: github.event_name == 'push'
|
|
# run: |
|
|
# echo "Pushing benchmark results..."
|
|
# cd gh-pages
|
|
# git config user.name github-actions
|
|
# git config user.email github@users.noreply.github.com
|
|
# git add ./dev/bench/data.json
|
|
# git commit -m "Add benchmarks results for ${{ github.sha }}"
|
|
# git push
|
|
# cd ..
|