diff --git a/.github/workflows/cmake-single-platform.yml b/.github/workflows/cmake-single-platform.yml index 1fae00e..a69f8ab 100644 --- a/.github/workflows/cmake-single-platform.yml +++ b/.github/workflows/cmake-single-platform.yml @@ -1,5 +1,4 @@ -# This starter workflow is for a CMake project running on a single platform. There is a different starter workflow if you need cross-platform coverage. -# See: https://github.com/actions/starter-workflows/blob/main/ci/cmake-multi-platform.yml +# This starter workflow is for a CMake project running on a single platform. name: CMake on a single platform on: @@ -14,9 +13,6 @@ env: jobs: build: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix runs-on: macos-latest steps: @@ -26,21 +22,63 @@ jobs: run: git submodule update --init --recursive - name: Build - working-directory: ${{github.workspace}} + working-directory: ${{ github.workspace }} # Build your program with the given configuration run: ./build.sh - - name: Test - working-directory: ${{github.workspace}}/build - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - steps: - - name: Lexer Test - run: ./LexerTest - - - name: Parser Test - run: ./ParserTest + - name: Upload build artifacts + uses: actions/upload-artifact@v2 + with: + name: build + path: ${{ github.workspace }}/build - - name: TypeChecker Test - run: ./TypeCheckerTest + lexer-test: + runs-on: macos-latest + needs: build + + steps: + - uses: actions/checkout@v4 + + - name: Download build artifacts + uses: actions/download-artifact@v2 + with: + name: build + path: ${{ github.workspace }}/build + + - name: Lexer Test + working-directory: ${{ github.workspace }}/build + run: ./LexerTest + + parser-test: + runs-on: macos-latest + needs: build + + steps: + - uses: actions/checkout@v4 + + - name: Download build artifacts + uses: actions/download-artifact@v2 + with: + name: build + path: ${{ github.workspace }}/build + + - name: Parser Test + working-directory: ${{ github.workspace }}/build + run: ./ParserTest + + typechecker-test: + runs-on: macos-latest + needs: build + + steps: + - uses: actions/checkout@v4 + + - name: Download build artifacts + uses: actions/download-artifact@v2 + with: + name: build + path: ${{ github.workspace }}/build + - name: TypeChecker Test + working-directory: ${{ github.workspace }}/build + run: ./TypeCheckerTest