diff --git a/.github/actions/do_build_ock/action.yml b/.github/actions/do_build_ock/action.yml index 4170b0d5b..41919222d 100644 --- a/.github/actions/do_build_ock/action.yml +++ b/.github/actions/do_build_ock/action.yml @@ -82,9 +82,7 @@ runs: shell: bash run: cmake -GNinja - -B${{ inputs.build_dir }} - -DCMAKE_C_COMPILER_LAUNCHER=sccache - -DCMAKE_CXX_COMPILER_LAUNCHER=sccache + -B${{ inputs.build_dir }} -DCA_MUX_TARGETS_TO_ENABLE=${{ inputs.mux_targets_enable }} -DCA_ENABLE_API=${{ inputs.enable_api }} -DCA_LLVM_INSTALL_DIR=${{ inputs.llvm_install_dir }} @@ -110,6 +108,12 @@ runs: -DCMAKE_INSTALL_PREFIX=${{ inputs.install_dir }} ${{ inputs.extra_flags }} . + +# Removed for aarch64 +# -DCMAKE_C_COMPILER_LAUNCHER=sccache +# -DCMAKE_CXX_COMPILER_LAUNCHER=sccache + + - name: build_ock shell: bash run: diff --git a/.github/actions/setup_ubuntu_build/action.yml b/.github/actions/setup_ubuntu_build/action.yml index eebbdaa67..cfbb51950 100644 --- a/.github/actions/setup_ubuntu_build/action.yml +++ b/.github/actions/setup_ubuntu_build/action.yml @@ -39,11 +39,12 @@ runs: fail-on-cache-miss: true # note the PR testing usage should set 'save' to false, to avoid PR testing creating new caches on a branch - - name: Setup sccache - uses: hendrikmuhs/ccache-action@v1.2 - with: - max-size: 200M - key: sccache-build - variant: sccache - save: ${{ inputs.save }} + # - name: Setup sccache + # if: ${{ inputs.arch}} == 'x86_64' + # uses: hendrikmuhs/ccache-action@v1.2 + # with: + # max-size: 200M + # key: sccache-build + # variant: sccache + # save: ${{ inputs.save }} \ No newline at end of file diff --git a/.github/workflows/build_ock_aarch64.yml b/.github/workflows/build_ock_aarch64.yml new file mode 100644 index 000000000..ce77cf358 --- /dev/null +++ b/.github/workflows/build_ock_aarch64.yml @@ -0,0 +1,54 @@ +# Simple workflow for testing aarch64 ock +name: Run aarch64 ock tests for PR testing +on: + # For testing purposes do on a pull request if this file changes + pull_request: + paths: + - '.github/workflows/build_ock_aarch64.yml' + - '.github/actions/setup_ubuntu_build/**' + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + + # build and run host aarch64, execute UnitCL and lit tests and build and run offline + run_host_aarch64: + runs-on: cp-graviton + steps: + - name: Checkout repo + uses: actions/checkout@v4 + - name: add to path + run: + echo "PATH=$PATH:/home/ubuntu/.local/bin" >> $GITHUB_ENV + + - name: echo PATH + run: + echo PATH=$PATH + # installs tools, ninja, installs llvm and sets up sccahe + - name: setup-ubuntu + uses: ./.github/actions/setup_ubuntu_build + with: + llvm_version: 18 + llvm_build_type: RelAssert + arch: aarch64 + + # These need to match the configurations of build_pr_cache to use the cache effectively + - name: build host x86_64 online release + uses: ./.github/actions/do_build_ock + with: + build_type: ReleaseAssert + + - name: run just online lit + run: + ninja -C build check-ock-all-lit + + - name: run host online check + run: + ninja -C build check-ock-UnitCL + + \ No newline at end of file