From 7ba5b864a0deeeabf8efef38c2f02055be139994 Mon Sep 17 00:00:00 2001 From: shg8 <38004233+shg8@users.noreply.github.com> Date: Sat, 9 Nov 2024 02:15:58 -0600 Subject: [PATCH] Add GitHub workflow --- .github/workflows/cmake-aarch64.yaml | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 .github/workflows/cmake-aarch64.yaml diff --git a/.github/workflows/cmake-aarch64.yaml b/.github/workflows/cmake-aarch64.yaml new file mode 100644 index 0000000..bb9bfcc --- /dev/null +++ b/.github/workflows/cmake-aarch64.yaml @@ -0,0 +1,53 @@ +# 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 +name: aarch64 + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +env: + # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) + BUILD_TYPE: Release + TOOLCHAIN_URL: https://storage.googleapis.com/remarkable-codex-toolchain/3.14.3.0/meta-toolchain-remarkable-4.0.813-ferrari-public-x86_64-toolchain.sh + TOOLCHAIN_DIR: toolchain + +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: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Cache Toolchain + id: cache-toolchain + uses: actions/cache@v3 + with: + path: ${{ github.workspace }}/${{ env.TOOLCHAIN_DIR }} + key: ${{ runner.os }}-toolchain-${{ hashFiles('**/cmake-aarch64.yaml') }} + + - name: Download and Install Toolchain + if: steps.cache-toolchain.outputs.cache-hit != 'true' + run: | + wget ${{ env.TOOLCHAIN_URL }} -O toolchain.sh + chmod +x toolchain.sh + ./toolchain.sh -y -d ${{ github.workspace }}/${{ env.TOOLCHAIN_DIR }} + + - name: Source Toolchain Environment + run: | + source ${{ github.workspace }}/${{ env.TOOLCHAIN_DIR }}/environment-setup-cortexa53-crypto-remarkable-linux + env >> $GITHUB_ENV + + - name: Configure CMake + # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. + # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + + - name: Build + # Build your program with the given configuration + run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} \ No newline at end of file