From 17ef877188801861bfc0c97c17a8277136880621 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 12 May 2022 18:54:10 +0300 Subject: [PATCH 01/38] [Feat] Added luau benchmark workflow TODO: Test this upstream --- .github/workflows/benchmark.yml | 92 +++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .github/workflows/benchmark.yml diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml new file mode 100644 index 000000000..982b89a00 --- /dev/null +++ b/.github/workflows/benchmark.yml @@ -0,0 +1,92 @@ +name: Benchmarks - PR + +on: + pull_request: + branches: + - main + # 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: "Concurrent FPS Benchmark", + cachegrindTitle: "FrameRate", + 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@v1 + + #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: + gh-pages- + 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 }} From 4b5d62501e2ae3db0e9689c86f475e708c732e72 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 12 May 2022 18:59:24 +0300 Subject: [PATCH 02/38] [Cleanup] Fixed yml syntax error --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 982b89a00..ad3fa2a7b 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -34,7 +34,7 @@ jobs: # Build Luau - name: make test run: | - make -j2 config=sanitize werror=1 test + make -j2 config=sanitize werror=1 test - name: make test w/flags run: | make -j2 config=sanitize werror=1 flags=true test From aad35f788e9847763d693c7ffeffb034a0ae801c Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 12 May 2022 19:02:47 +0300 Subject: [PATCH 03/38] [Config] Updated events being relied on by benchmark github workflow --- .github/workflows/benchmark.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index ad3fa2a7b..370d6ec3f 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -1,9 +1,22 @@ name: Benchmarks - PR on: - pull_request: + push: branches: - - main + - '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: From e9801585288f10d28058f3b472e7f221047a254c Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 12 May 2022 19:06:14 +0300 Subject: [PATCH 04/38] [Cleanup] Fixed syntax error in benchmark github workflow --- .github/workflows/benchmark.yml | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 370d6ec3f..3880a303d 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -3,20 +3,20 @@ name: Benchmarks - PR on: push: branches: - - 'master' + - "master" paths-ignore: - - 'docs/**' - - 'papers/**' - - 'rfcs/**' - - '*.md' - - 'prototyping/**' + - "docs/**" + - "papers/**" + - "rfcs/**" + - "*.md" + - "prototyping/**" pull_request: paths-ignore: - - 'docs/**' - - 'papers/**' - - 'rfcs/**' - - '*.md' - - 'prototyping/**' + - "docs/**" + - "papers/**" + - "rfcs/**" + - "*.md" + - "prototyping/**" # we don't use paths-ignore in required pass workflows jobs: @@ -70,12 +70,10 @@ jobs: 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: - gh-pages- tool: "benchmarkluau" output-file-path: output.txt external-data-json-path: ./cache/benchmark-data.json From 5b0e840bb06cb138aed331250657832157f1c3ad Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 12 May 2022 19:12:43 +0300 Subject: [PATCH 05/38] [Config] Updated python setup action version --- .github/workflows/benchmark.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3880a303d..176589eb4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -57,7 +57,10 @@ jobs: ./luau tests/conformance/assert.lua ./luau-analyze tests/conformance/assert.lua - - uses: actions/setup-python@v1 + - 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 From decdf9894220c63c18886b6b53dd135766e911d8 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 12 May 2022 19:15:34 +0300 Subject: [PATCH 06/38] [Config] Updated benchmark configs --- .github/workflows/benchmark.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 176589eb4..5ce08b7b4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -1,4 +1,4 @@ -name: Benchmarks - PR +name: Luau Benchmarks on: push: @@ -35,8 +35,8 @@ jobs: - { script: "run-benchmarks", timeout: 12, - title: "Concurrent FPS Benchmark", - cachegrindTitle: "FrameRate", + title: "Luau Performance Benchmark", + cachegrindTitle: "Performance", cachegrindIterCount: 20, # Extra iterations to ensure we hit the first artificial slowdown. } From 17ed62260a92a59fe360a240f8b246c97eab56eb Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 12:37:54 +0300 Subject: [PATCH 07/38] Added requests install for python --- .github/workflows/benchmark.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 5ce08b7b4..41f506bdc 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -61,6 +61,7 @@ jobs: 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: pip install requests #Run benchmark with `python bench/bench.py` and stores the output to a file - name: Run benchmark From 1af36eb542a2b6afead9e440123e71ffa98ae485 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 15:10:43 +0300 Subject: [PATCH 08/38] Reverted pip install change in benchmark workflow --- .github/workflows/benchmark.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 41f506bdc..5ce08b7b4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -61,7 +61,6 @@ jobs: 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: pip install requests #Run benchmark with `python bench/bench.py` and stores the output to a file - name: Run benchmark From 435701a2a3ae47149a8e142eda48d25de3de6926 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 15:16:35 +0300 Subject: [PATCH 09/38] Cleaned up luau benchmarks Removed duplicate storage of benchmark output files --- .github/workflows/benchmark.yml | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 5ce08b7b4..3bd14c943 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -35,7 +35,7 @@ jobs: - { script: "run-benchmarks", timeout: 12, - title: "Luau Performance Benchmark", + title: "benchmarkluau", cachegrindTitle: "Performance", cachegrindIterCount: 20, # Extra iterations to ensure we hit the first artificial slowdown. } @@ -64,7 +64,7 @@ jobs: #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 + run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt # Download previous benchmark result from cache (if exists) - name: Download previous benchmark data @@ -77,10 +77,16 @@ jobs: - name: Store ${{ matrix.bench.title }} result uses: Roblox/rhysd-github-action-benchmark@v-luau with: + name: ${{ matrix.bench.title }} tool: "benchmarkluau" - output-file-path: output.txt - external-data-json-path: ./cache/benchmark-data.json + 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 }} # Checkout gh-pages - name: Checkout gh-pages @@ -91,16 +97,3 @@ jobs: 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 }} From 8c9321105afc6ed3f4e504bf05b3941766601722 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 15:44:52 +0300 Subject: [PATCH 10/38] Added python requests intallation --- .github/workflows/benchmark.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3bd14c943..f99e19fc8 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -62,6 +62,9 @@ jobs: python-version: "3.x" # Version range or exact version of a Python version to use, using SemVer's version range syntax architecture: "x64" + - name: Install requests + run: python -m pip install requests + #Run benchmark with `python bench/bench.py` and stores the output to a file - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt From de7c266a56dfd46fd112d8ac0b5b2fa12c7b3c54 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 15:52:21 +0300 Subject: [PATCH 11/38] Updated benchmark workflow with different build command Using the one from the README now as opposed to the one from the build.yml --- .github/workflows/benchmark.yml | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index f99e19fc8..78d812af4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -44,18 +44,8 @@ jobs: 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 + - name: Build Luau + run: make config=release luau luau-analyze - uses: actions/setup-python@v3 with: From 8269293222d4460cfc14377af97e7ae2711d9478 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 18:07:09 +0300 Subject: [PATCH 12/38] Reordered steps in benchmark workflow --- .github/workflows/benchmark.yml | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 78d812af4..a5eeee1a1 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -17,7 +17,6 @@ on: - "rfcs/**" - "*.md" - "prototyping/**" - # we don't use paths-ignore in required pass workflows jobs: benchmarks-run: @@ -37,7 +36,7 @@ jobs: timeout: 12, title: "benchmarkluau", cachegrindTitle: "Performance", - cachegrindIterCount: 20, # Extra iterations to ensure we hit the first artificial slowdown. + cachegrindIterCount: 20, } runs-on: ${{ matrix.os }} @@ -49,23 +48,30 @@ jobs: - 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 + python-version: "3.x" architecture: "x64" - name: Install requests run: python -m pip install requests - #Run benchmark with `python bench/bench.py` and stores the output to a file - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-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 + - 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 + #Run `github-action-benchmark` action - name: Store ${{ matrix.bench.title }} result uses: Roblox/rhysd-github-action-benchmark@v-luau @@ -80,13 +86,3 @@ jobs: comment-on-alert: true comment-always: true github-token: ${{ secrets.GITHUB_TOKEN }} - - # 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 From 620bb47e0a9456ca0643a826f84f73684da2f43f Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 18:21:29 +0300 Subject: [PATCH 13/38] Updated benchmark.yml --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index a5eeee1a1..1d4a85d13 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -34,7 +34,7 @@ jobs: - { script: "run-benchmarks", timeout: 12, - title: "benchmarkluau", + title: "Luau Benchmarks", cachegrindTitle: "Performance", cachegrindIterCount: 20, } From f8ec272bbdbed91f15e4da36f292c03e988b0882 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 18:28:34 +0300 Subject: [PATCH 14/38] Updated benchmark.yml --- .github/workflows/benchmark.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 1d4a85d13..71002cda5 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -71,6 +71,7 @@ jobs: 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 From 2448831cd28d936515f0332489b00bd31bc90e59 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 18:43:25 +0300 Subject: [PATCH 15/38] UPDATED GITHUB token --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 71002cda5..e488a9f03 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -86,4 +86,4 @@ jobs: fail-on-alert: true comment-on-alert: true comment-always: true - github-token: ${{ secrets.GITHUB_TOKEN }} + github-token: ${{ secrets.TEST_GITHUB_TOKEN }} From 0f5c22e705184e055954fe59216f06708cf69d99 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 18:49:27 +0300 Subject: [PATCH 16/38] Adjusted thresholds --- .github/workflows/benchmark.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index e488a9f03..5776692d9 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -81,9 +81,10 @@ jobs: tool: "benchmarkluau" output-file-path: ${{ matrix.bench.script }}-output.txt external-data-json-path: ./dev/bench/data.json - alert-threshold: 115% - fail-threshold: 130% + alert-threshold: 150% + fail-threshold: 200% fail-on-alert: true comment-on-alert: true comment-always: true + # TODO: Revert to GITHUB_TOKEN github-token: ${{ secrets.TEST_GITHUB_TOKEN }} From ac0dcd4ba10a3a59e9329d73e5373fe0662abe2a Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 18:54:32 +0300 Subject: [PATCH 17/38] Updated github token --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 5776692d9..9189dab2b 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -87,4 +87,4 @@ jobs: comment-on-alert: true comment-always: true # TODO: Revert to GITHUB_TOKEN - github-token: ${{ secrets.TEST_GITHUB_TOKEN }} + github-token: ${{ secrets.GITHUB_TOKEN }} From a9d4b79b2e75752c4eb66b9116773e1764e72b25 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 19:21:24 +0300 Subject: [PATCH 18/38] Cleanup --- .github/workflows/benchmark.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 9189dab2b..ac41b4d1b 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -51,18 +51,9 @@ jobs: python-version: "3.x" 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: Download previous benchmark data - uses: actions/cache@v1 - with: - path: ./cache - key: ${{ runner.os }}-benchmark - - name: Checkout gh-pages run: | git config user.name github-actions From 20ff937a3a6d5a1b4f9b26707c17cab1d761fda9 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 19:25:49 +0300 Subject: [PATCH 19/38] Return of the pip --- .github/workflows/benchmark.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index ac41b4d1b..451baa8f8 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -50,6 +50,10 @@ jobs: with: python-version: "3.x" architecture: "x64" + cache: "pip" + + - name: Install requests + run: python -m pip install requests - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt From 74075fc00dfb091a47abe7b2171e11bf7292bb0e Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 19:32:37 +0300 Subject: [PATCH 20/38] End of the pip & explicit python version set --- .github/workflows/benchmark.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 451baa8f8..064d77a55 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -48,9 +48,8 @@ jobs: - uses: actions/setup-python@v3 with: - python-version: "3.x" + python-version: "3.9" architecture: "x64" - cache: "pip" - name: Install requests run: python -m pip install requests From 6dcdf794d76e2c3856f9d6346a9dcece6723fc59 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Mon, 16 May 2022 19:37:47 +0300 Subject: [PATCH 21/38] Removed unnecessary comment --- .github/workflows/benchmark.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 064d77a55..3c98a2d61 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -80,5 +80,4 @@ jobs: fail-on-alert: true comment-on-alert: true comment-always: true - # TODO: Revert to GITHUB_TOKEN github-token: ${{ secrets.GITHUB_TOKEN }} From 8c65fe0084a14e5fbff26b1004efcd345c158694 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Wed, 18 May 2022 13:14:57 +0300 Subject: [PATCH 22/38] Added historic tag checkout test --- .github/workflows/benchmark.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3c98a2d61..dfef2b926 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -42,6 +42,13 @@ jobs: 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 From 96adcac92b51c3dcacf6e4b56040d759f9aa2a71 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Wed, 18 May 2022 13:16:00 +0300 Subject: [PATCH 23/38] [Bugfix] Added historic tag checkout test --- .github/workflows/benchmark.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index dfef2b926..084457b1a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -42,7 +42,8 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - run: | + + - run: | git checkout ${{ GITHUB_SHA }} for historicTags in $(git rev-list --tags -n 9); do git checkout $historicTags From c7170d90969864c5c07a0e2934a8ddb467cf7888 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Wed, 18 May 2022 13:17:08 +0300 Subject: [PATCH 24/38] [Bugfix] Fixed incorrect reference in git checkout --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 084457b1a..3c69a2ec4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -44,7 +44,7 @@ jobs: - uses: actions/checkout@v2 - run: | - git checkout ${{ GITHUB_SHA }} + git checkout ${{ github.sha }} for historicTags in $(git rev-list --tags -n 9); do git checkout $historicTags echo "Checking out $historicTags" From 465cbdaa3e249ee5869f90b5aaf62ce1967d1b57 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Wed, 18 May 2022 13:42:50 +0300 Subject: [PATCH 25/38] Revert changes to benchmark.yml --- .github/workflows/benchmark.yml | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3c69a2ec4..ba6ba2974 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -1,15 +1,6 @@ name: Luau Benchmarks on: - push: - branches: - - "master" - paths-ignore: - - "docs/**" - - "papers/**" - - "rfcs/**" - - "*.md" - - "prototyping/**" pull_request: paths-ignore: - "docs/**" From 0bc2430e2e6b0d563f00ac582083f99b4c7e6df4 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 13:39:50 +0300 Subject: [PATCH 26/38] Bumped gh actions version to 3 --- .github/workflows/benchmark.yml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index ba6ba2974..38d89a466 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -32,15 +32,7 @@ jobs: 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 + - uses: actions/checkout@v3 - name: Build Luau run: make config=release luau luau-analyze @@ -58,8 +50,6 @@ jobs: - 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 From 2ff83d68270558226adb3dfd935f4f727330a9f2 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 14:31:54 +0300 Subject: [PATCH 27/38] Test: Attempt to run benchmarks from different repo --- .github/workflows/benchmark.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 38d89a466..dff494b72 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -49,10 +49,14 @@ jobs: run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt - name: Checkout gh-pages + uses: actions/checkout@v3 + with: + repository: AllanJeremy/luau-benchmark-results + run: | git status - git fetch --no-tags --depth=1 origin gh-pages - git checkout --track origin/gh-pages + git fetch --no-tags --depth=1 origin main + git checkout --track origin/main git pull git status From 5c04f1511f603b561f1a0e4cfac440a3d98c1365 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 14:35:07 +0300 Subject: [PATCH 28/38] Bugfix: Checkout multiple repos --- .github/workflows/benchmark.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index dff494b72..b3ec40330 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -48,11 +48,12 @@ jobs: - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt - - name: Checkout gh-pages + - name: Switch to & checkout gh-pages repo uses: actions/checkout@v3 with: repository: AllanJeremy/luau-benchmark-results + - name: Checkout gh-pages run: | git status git fetch --no-tags --depth=1 origin main From 93a8fe1c6197e57be212c42a07a19f58cf14bdde Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 14:52:58 +0300 Subject: [PATCH 29/38] Updated gh-pages checkout command --- .github/workflows/benchmark.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index b3ec40330..22157b3fc 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -52,12 +52,13 @@ jobs: uses: actions/checkout@v3 with: repository: AllanJeremy/luau-benchmark-results + ref: "main" - name: Checkout gh-pages run: | git status git fetch --no-tags --depth=1 origin main - git checkout --track origin/main + git checkout origin/main git pull git status From efe216475d15f039d3b901e47144dd3efc6ec6c7 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 14:58:16 +0300 Subject: [PATCH 30/38] Updated gh-pages checkout command --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 22157b3fc..84f158fc4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -58,7 +58,7 @@ jobs: run: | git status git fetch --no-tags --depth=1 origin main - git checkout origin/main + git checkout main git pull git status From 0946952d5811b12bb7674c990a22eca137dfa57e Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 15:08:19 +0300 Subject: [PATCH 31/38] Attempting to use different directories for checkout of luau repos --- .github/workflows/benchmark.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 84f158fc4..a67850f0b 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -48,6 +48,9 @@ jobs: - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt + - name: Cd 1 level up and create gh-pages dir then cd into it + run: cd .. && mkdir gh-pages && cd gh-pages + - name: Switch to & checkout gh-pages repo uses: actions/checkout@v3 with: @@ -62,6 +65,14 @@ jobs: git pull git status + - name: Cd back to root before checking out original repo + run: cd .. + + - name: Switch to original luau repo + uses: actions/checkout@v3 + with: + repository: ${{ github.repository }} + #Run `github-action-benchmark` action - name: Store ${{ matrix.bench.title }} result uses: Roblox/rhysd-github-action-benchmark@v-luau From 5975d556fe25e3bcb4478675ad57c547ae8e1754 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 15:18:32 +0300 Subject: [PATCH 32/38] Debugging runner directories --- .github/workflows/benchmark.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index a67850f0b..06ce32638 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -43,13 +43,13 @@ jobs: architecture: "x64" - name: Install requests - run: python -m pip install requests + run: python -m pip install requests && pwd - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt - name: Cd 1 level up and create gh-pages dir then cd into it - run: cd .. && mkdir gh-pages && cd gh-pages + run: cd .. && mkdir gh-pages && cd gh-pages && pwd && ls - name: Switch to & checkout gh-pages repo uses: actions/checkout@v3 @@ -66,7 +66,7 @@ jobs: git status - name: Cd back to root before checking out original repo - run: cd .. + run: cd .. && pwd && ls - name: Switch to original luau repo uses: actions/checkout@v3 @@ -79,7 +79,10 @@ jobs: with: name: ${{ matrix.bench.title }} tool: "benchmarkluau" + # This should come from Luau repo output-file-path: ${{ matrix.bench.script }}-output.txt + + # This should map to thebenchmark results repo external-data-json-path: ./dev/bench/data.json alert-threshold: 150% fail-threshold: 200% From 3545cc8bdf9e01fdbe0a1912c76b62cb15f04c3a Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 15:25:02 +0300 Subject: [PATCH 33/38] Debugging runner directories --- .github/workflows/benchmark.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 06ce32638..9e8891e93 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -65,8 +65,8 @@ jobs: git pull git status - - name: Cd back to root before checking out original repo - run: cd .. && pwd && ls + - name: Cd back to luau before checking out original repo + run: cd ../luau && pwd && ls - name: Switch to original luau repo uses: actions/checkout@v3 @@ -83,7 +83,7 @@ jobs: output-file-path: ${{ matrix.bench.script }}-output.txt # This should map to thebenchmark results repo - external-data-json-path: ./dev/bench/data.json + external-data-json-path: ../gh-pages/dev/bench/data.json alert-threshold: 150% fail-threshold: 200% fail-on-alert: true From b1399cf52e6c5883efddff1fe762680f7806beeb Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 15:25:48 +0300 Subject: [PATCH 34/38] Printing root dir before actually creating a new one --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 9e8891e93..3c905fb37 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -49,7 +49,7 @@ jobs: run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt - name: Cd 1 level up and create gh-pages dir then cd into it - run: cd .. && mkdir gh-pages && cd gh-pages && pwd && ls + run: ls && cd .. && mkdir gh-pages && cd gh-pages && pwd && ls - name: Switch to & checkout gh-pages repo uses: actions/checkout@v3 From 30f66ff0eff80ddef07ed5d03d67aa34b49457a0 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 15:56:57 +0300 Subject: [PATCH 35/38] Printing root dir before actually creating a new one --- .github/workflows/benchmark.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 3c905fb37..b2c0a6519 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -66,7 +66,7 @@ jobs: git status - name: Cd back to luau before checking out original repo - run: cd ../luau && pwd && ls + run: cd .. && pwd && ls - name: Switch to original luau repo uses: actions/checkout@v3 From 3f124be241ef898cbecc813d759bff2622e67e3a Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 16:05:20 +0300 Subject: [PATCH 36/38] Debugging directory --- .github/workflows/benchmark.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index b2c0a6519..75a1e642c 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -73,6 +73,9 @@ jobs: with: repository: ${{ github.repository }} + - name: Print current directory & list files + run: pwd && ls + #Run `github-action-benchmark` action - name: Store ${{ matrix.bench.title }} result uses: Roblox/rhysd-github-action-benchmark@v-luau From fbab5e9de7fe9337707c0daddc34da460fc60b00 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 16:14:21 +0300 Subject: [PATCH 37/38] Debug: Print parent directory Trying to understand the parent directory's structure --- .github/workflows/benchmark.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 75a1e642c..5051bccb4 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -48,6 +48,9 @@ jobs: - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt + - name: Print parent directory + run: cd .. && ls + - name: Cd 1 level up and create gh-pages dir then cd into it run: ls && cd .. && mkdir gh-pages && cd gh-pages && pwd && ls From c620192eff4c07e01f6c5058826239f9c0284136 Mon Sep 17 00:00:00 2001 From: Allan Jeremy Date: Thu, 19 May 2022 16:19:17 +0300 Subject: [PATCH 38/38] Debug: reorganize Print parent directory Trying to understand the parent directory's structure --- .github/workflows/benchmark.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 5051bccb4..9ca0f32de 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -34,6 +34,9 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Print parent directory + run: cd .. && ls + - name: Build Luau run: make config=release luau luau-analyze @@ -48,9 +51,6 @@ jobs: - name: Run benchmark run: python bench/bench.py | tee ${{ matrix.bench.script }}-output.txt - - name: Print parent directory - run: cd .. && ls - - name: Cd 1 level up and create gh-pages dir then cd into it run: ls && cd .. && mkdir gh-pages && cd gh-pages && pwd && ls