From fbcd37d8b9dd4d7502e7dc15da93acd591636433 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 16 Jun 2022 15:07:21 +0300 Subject: [PATCH] build: re-enabled windows benchmark runs --- .github/workflows/benchmark.yml | 246 ++++++++++++++++---------------- 1 file changed, 123 insertions(+), 123 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 8e99eca1..4e20c994 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -12,89 +12,89 @@ on: - "prototyping/**" jobs: - # windows: - # name: Run ${{ matrix.bench.title }} (Windows ${{matrix.arch}}) - # strategy: - # fail-fast: false - # matrix: - # os: [windows-latest] - # arch: [Win32, x64] - # bench: - # - { - # script: "run-benchmarks", - # timeout: 12, - # title: "Luau Benchmarks", - # cachegrindTitle: "Performance", - # cachegrindIterCount: 20, - # } - # benchResultsRepo: - # - { name: "AllanJeremy/luau-benchmark-results", branch: "main" } + windows: + name: Run ${{ matrix.bench.title }} (Windows ${{matrix.arch}}) + strategy: + fail-fast: false + matrix: + os: [windows-latest] + arch: [Win32, x64] + bench: + - { + script: "run-benchmarks", + timeout: 12, + title: "Luau Benchmarks", + cachegrindTitle: "Performance", + cachegrindIterCount: 20, + } + benchResultsRepo: + - { name: "AllanJeremy/luau-benchmark-results", branch: "main" } - # runs-on: ${{ matrix.os }} - # steps: - # - name: Checkout Luau - # uses: actions/checkout@v3 + runs-on: ${{ matrix.os }} + steps: + - name: Checkout Luau + uses: actions/checkout@v3 - # - name: Build Luau - # shell: bash # necessary for fail-fast - # run: | - # mkdir build && cd build - # cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo - # cmake --build . --target Luau.Repl.CLI --config RelWithDebInfo - # cmake --build . --target Luau.Analyze.CLI --config RelWithDebInfo - # move build/RelWithDebInfo/* . + - name: Build Luau + shell: bash # necessary for fail-fast + run: | + mkdir build && cd build + cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo + cmake --build . --target Luau.Repl.CLI --config RelWithDebInfo + cmake --build . --target Luau.Analyze.CLI --config RelWithDebInfo + move build/RelWithDebInfo/* . - # - name: Check dir structure - # run: | - # ls build/RelWithDebInfo - # ls + - name: Check dir structure + run: | + ls build/RelWithDebInfo + ls - # - uses: actions/setup-python@v3 - # with: - # python-version: "3.9" - # architecture: "x64" + - uses: actions/setup-python@v3 + with: + python-version: "3.9" + architecture: "x64" - # - name: Install python dependencies - # run: | - # python -m pip install requests - # python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose + - name: Install python dependencies + run: | + python -m pip install requests + python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose - # - name: Run benchmark - # run: | - # python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt + - name: Run benchmark + run: | + python bench/bench.py | tee ${{ 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: 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" - # output-file-path: ./${{ matrix.bench.script }}-output.txt - # external-data-json-path: ./gh-pages/dev/bench/data.json - # alert-threshold: 150% - # fail-threshold: 1000% - # fail-on-alert: false - # comment-on-alert: true - # github-token: ${{ secrets.GITHUB_TOKEN }} + - 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: ./gh-pages/dev/bench/data.json + alert-threshold: 150% + fail-threshold: 1000% + fail-on-alert: false + comment-on-alert: true + github-token: ${{ secrets.GITHUB_TOKEN }} - # - name: Push benchmark results + - name: Push benchmark results - # 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 .. + 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 .. unix: name: Run ${{ matrix.bench.title }} (${{ matrix.os}}) @@ -131,9 +131,9 @@ jobs: python -m pip install requests python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose - # - name: Run benchmark - # run: | - # python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt + - name: Run benchmark + run: | + python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt - name: Install valgrind if: ${{ matrix.os }} == "ubuntu-latest" @@ -144,54 +144,54 @@ jobs: if: ${{ matrix.os }} == "ubuntu-latest" run: sudo bash ./scripts/run-with-cachegrind.sh python ./bench/bench.py "${{ matrix.bench.cachegrindTitle}}Cold" 1 | tee -a ${{ matrix.bench.script }}-output.txt - # - name: Run ${{ matrix.bench.title }} (Warm Cachegrind) - # if: ${{ matrix.os }} == "ubuntu-latest" - # run: sudo bash ./scripts/run-with-cachegrind.sh python ./bench/bench.py "${{ matrix.bench.cachegrindTitle }}" ${{ matrix.bench.cachegrindIterCount }} | tee -a ${{ matrix.bench.script }}-output.txt + - name: Run ${{ matrix.bench.title }} (Warm Cachegrind) + if: ${{ matrix.os }} == "ubuntu-latest" + run: sudo bash ./scripts/run-with-cachegrind.sh python ./bench/bench.py "${{ matrix.bench.cachegrindTitle }}" ${{ matrix.bench.cachegrindIterCount }} | 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: 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" - # 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: 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: ./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: Store ${{ matrix.bench.title }} result (CacheGrind) - # uses: Roblox/rhysd-github-action-benchmark@v-luau - # if: ${{ matrix.os }} == "ubuntu-latest" - # with: - # name: ${{ matrix.bench.title }} (CacheGrind) - # tool: "roblox" - # output-file-path: ./${{ matrix.bench.script }}-output.txt - # external-data-json-path: ./gh-pages/dev/bench/data.json - # alert-threshold: 150% - # fail-threshold: 1000% - # fail-on-alert: false - # comment-on-alert: true - # github-token: ${{ secrets.GITHUB_TOKEN }} + - name: Store ${{ matrix.bench.title }} result (CacheGrind) + uses: Roblox/rhysd-github-action-benchmark@v-luau + if: ${{ matrix.os }} == "ubuntu-latest" + with: + name: ${{ matrix.bench.title }} (CacheGrind) + tool: "roblox" + output-file-path: ./${{ matrix.bench.script }}-output.txt + external-data-json-path: ./gh-pages/dev/bench/data.json + alert-threshold: 150% + fail-threshold: 1000% + fail-on-alert: false + comment-on-alert: 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 .. + - 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 ..