From 44780f7f7b4b2df30413994510d94608ddaf61f6 Mon Sep 17 00:00:00 2001 From: EncodedVenom <32179912+EncodedVenom@users.noreply.github.com> Date: Sat, 13 Jul 2024 20:43:40 -0400 Subject: [PATCH] Add Continuous Integration (#76) * First attempt at CI * second attempt * attempt 3 * attempt 4 * Try using git env * Combine steps * Rename * Run last step at all costs * (testing workflow to see if it passes when it should) * Workflow dispatch * Revert commit that made unit tests pass (intentional) --- .github/workflows/ci.yaml | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..b1161fb --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,37 @@ +name: Unit Testing + +on: [push, pull_request, workflow_dispatch] + +jobs: + run: + name: Run Luau Tests + runs-on: ubuntu-latest + + steps: + - name: Checkout Project + uses: actions/checkout@v3 + + - name: Fetch Luau Latest Release + run: curl -s https://api.github.com/repos/luau-lang/luau/releases/latest | grep /luau-ubuntu.zip | cut -d '"' -f 4 > luau-link.txt + + - name: Download Luau Latest Release + run: wget -i luau-link.txt + + - name: Unzip binary + run: unzip luau-ubuntu.zip + + - name: Run Unit Tests + id: run_tests + run: | + output=$(./luau tests/world.luau) + echo "$output" + if [[ "$output" == *"0 fails"* ]]; then + echo "Unit Tests Passed" + else + echo "Error: One or More Unit Tests Failed." + exit 1 + fi + + - name: Cleanup Luau Binaries + if: '!cancelled()' + run: rm luau && rm luau-analyze && rm luau-compile && rm luau-ubuntu.zip && rm luau-link.txt