name: Luau Benchmarks on: 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, 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 Benchmarks", cachegrindTitle: "Performance", cachegrindIterCount: 20, } runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - run: | git checkout ${{ github.sha }} for historicTags in $(git rev-list --tags -n 9); do git checkout $historicTags echo "Checking out $historicTags" git pull done - name: Build Luau run: make config=release luau luau-analyze - uses: actions/setup-python@v3 with: python-version: "3.9" architecture: "x64" - name: Install requests run: python -m pip install requests - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt - 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 git status #Run `github-action-benchmark` action - name: Store ${{ matrix.bench.title }} result uses: Roblox/rhysd-github-action-benchmark@v-luau with: name: ${{ matrix.bench.title }} tool: "benchmarkluau" output-file-path: ${{ matrix.bench.script }}-output.txt external-data-json-path: ./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 }}