Skip to content

Commit

Permalink
Merge decdf98 into 105e74c
Browse files Browse the repository at this point in the history
  • Loading branch information
AllanJeremy committed May 12, 2022
2 parents 105e74c + decdf98 commit a2838ac
Showing 1 changed file with 106 additions and 0 deletions.
106 changes: 106 additions & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
name: Luau Benchmarks

on:
push:
branches:
- "master"
paths-ignore:
- "docs/**"
- "papers/**"
- "rfcs/**"
- "*.md"
- "prototyping/**"
pull_request:
paths-ignore:
- "docs/**"
- "papers/**"
- "rfcs/**"
- "*.md"
- "prototyping/**"
# we don't use paths-ignore in required pass workflows

jobs:
benchmarks-run:
name: Run ${{ matrix.bench.title }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
engine:
- { channel: stable, version: latest, runner: "robloxdev-cli" }
# - { channel: develop, version: latest, runner: 'robloxdev-cli' }
# covers environment closest to RobloxStudio, but not available on Linux
# - { channel: develop, version: latest, runner: 'roblox-cli'}
bench:
- {
script: "run-benchmarks",
timeout: 12,
title: "Luau Performance Benchmark",
cachegrindTitle: "Performance",
cachegrindIterCount: 20, # Extra iterations to ensure we hit the first artificial slowdown.
}

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2

# Build Luau
- name: make test
run: |
make -j2 config=sanitize werror=1 test
- name: make test w/flags
run: |
make -j2 config=sanitize werror=1 flags=true test
- name: make cli
run: |
make -j2 config=sanitize werror=1 luau luau-analyze # match config with tests to improve build time
./luau tests/conformance/assert.lua
./luau-analyze tests/conformance/assert.lua
- uses: actions/setup-python@v3
with:
python-version: "3.x" # Version range or exact version of a Python version to use, using SemVer's version range syntax
architecture: "x64"

#Run benchmark with `python bench/bench.py` and stores the output to a file
- name: Run benchmark
run: python bench/bench.py | tee output.txt

# Download previous benchmark result from cache (if exists)
- name: Download previous benchmark data
uses: actions/cache@v1
with:
path: ./cache
key: ${{ runner.os }}-benchmark

#Run `github-action-benchmark` action
- name: Store ${{ matrix.bench.title }} result
uses: Roblox/rhysd-github-action-benchmark@v-luau
with:
tool: "benchmarkluau"
output-file-path: output.txt
external-data-json-path: ./cache/benchmark-data.json
fail-on-alert: true

# Checkout gh-pages
- name: Checkout gh-pages
run: |
git config user.name github-actions
git config user.email github@users.noreply.github.com
git status
git fetch --no-tags --depth=1 origin gh-pages
git checkout --track origin/gh-pages
git pull
- name: Store ${{ matrix.bench.title }} result
uses: Roblox/rhysd-github-action-benchmark@v-luau
with:
name: ${{ matrix.bench.title }}
tool: "roblox"
output-file-path: ${{ matrix.bench.script }}-output.txt
external-data-json-path: ./dev/bench/data.json
alert-threshold: 115%
fail-threshold: 130%
fail-on-alert: true
comment-on-alert: true
comment-always: true
github-token: ${{ secrets.GITHUB_TOKEN }}

0 comments on commit a2838ac

Please sign in to comment.