Draft: Indirect function calls #44
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CMake on a single platform | |
on: | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
env: | |
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) | |
BUILD_TYPE: Release | |
jobs: | |
build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Initialize submodules | |
run: git submodule update --init --recursive | |
- name: Cache CMake build | |
uses: actions/cache@v3 | |
with: | |
path: build | |
key: ${{ runner.os }}-build-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-build- | |
- name: Cache CMake dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cache/CMake | |
~/.conan/data | |
key: ${{ runner.os }}-cmake-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-cmake- | |
- name: Configure CMake | |
working-directory: ${{ github.workspace }} | |
run: cmake -S . -B build -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} | |
- name: Build | |
working-directory: ${{ github.workspace }} | |
run: cmake --build build --config ${{ env.BUILD_TYPE }} | |
- name: Upload build artifacts | |
uses: actions/upload-artifact@v2 | |
with: | |
name: build | |
path: ${{ github.workspace }}/build | |
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: Make LexerTest Executable | |
run: chmod +x ${{ github.workspace }}/build/LexerTest | |
- 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: Make ParserTest Executable | |
run: chmod +x ${{ github.workspace }}/build/ParserTest | |
- 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: Make TypeCheckerTest Executable | |
run: chmod +x ${{ github.workspace }}/build/TypeCheckerTest | |
- name: TypeChecker Test | |
working-directory: ${{ github.workspace }}/build | |
run: ./TypeCheckerTest |