From 17da9451866302c67dd53111f6ce2ee201603788 Mon Sep 17 00:00:00 2001 From: Michael Jackson Date: Mon, 5 Feb 2024 09:16:16 -0500 Subject: [PATCH 1/4] DEV: Enable Apple ARM64 CI Support Signed-off-by: Michael Jackson --- .github/workflows/macos_arm64.yml | 70 +++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 .github/workflows/macos_arm64.yml diff --git a/.github/workflows/macos_arm64.yml b/.github/workflows/macos_arm64.yml new file mode 100644 index 0000000000..4d011d3d92 --- /dev/null +++ b/.github/workflows/macos_arm64.yml @@ -0,0 +1,70 @@ +name: macos + +on: + pull_request: + branches: + - develop + - master + push: + branches: + - develop + - master + +jobs: + build: + env: + VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite' + strategy: + fail-fast: false + matrix: + os: + - macos-14 + runs-on: ${{matrix.os}} + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + - uses: actions/checkout@v4 + - name: Checkout VCPKG + run: | + git clone https://www.github.com/microsoft/vcpkg && cd vcpkg && ./bootstrap-vcpkg.sh + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install sphinx myst-parser sphinx-markdown-tables sphinx_rtd_theme numpy + - name: Add C++ Problem Matcher + uses: ammaraskar/gcc-problem-matcher@0.2.0 + - name: Install Dependencies - 2 + run: | + brew install ninja + - name: Install Sphinx + run: | + sudo pip3 install sphinx myst-parser sphinx-markdown-tables sphinx_rtd_theme numpy + - name: Setup NuGet Credentials + shell: bash + run: | + mono `${{github.workspace}}/vcpkg/vcpkg fetch nuget | tail -n 1` \ + sources add \ + -source "https://nuget.pkg.github.com/BlueQuartzSoftware/index.json" \ + -storepasswordincleartext \ + -name "GitHub" \ + -username "BlueQuartzSoftware" \ + -password "${{secrets.GITHUB_TOKEN}}" + mono `${{github.workspace}}/vcpkg/vcpkg fetch nuget | tail -n 1` \ + setapikey "${{secrets.GITHUB_TOKEN}}" \ + -source "https://nuget.pkg.github.com/BlueQuartzSoftware/index.json" + - name: Configure + run: | + export PATH=$PATH:${{github.workspace}}/vcpkg; export VCPKG_INSTALLATION_ROOT=${{github.workspace}}/vcpkg; cmake --preset ci-macos-arm64 ${{github.workspace}} + - name: Build + run: | + export PATH=$PATH:${{github.workspace}}/vcpkg; export VCPKG_INSTALLATION_ROOT=${{github.workspace}}/vcpkg; cmake --build --preset ci-macos-arm64 + - name: Test + run: | + export PATH=$PATH:${{github.workspace}}/vcpkg; export VCPKG_INSTALLATION_ROOT=${{github.workspace}}/vcpkg; ctest --preset ci-macos-arm64 From a74f294aab177643181eb7ca7700f4e080321822 Mon Sep 17 00:00:00 2001 From: Jared Duffey Date: Fri, 9 Feb 2024 10:26:39 -0500 Subject: [PATCH 2/4] Simplified setting up path for github actions Signed-off-by: Jared Duffey --- .github/workflows/macos_arm64.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/macos_arm64.yml b/.github/workflows/macos_arm64.yml index 4d011d3d92..3c906aac70 100644 --- a/.github/workflows/macos_arm64.yml +++ b/.github/workflows/macos_arm64.yml @@ -14,6 +14,7 @@ jobs: build: env: VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite' + VCPKG_INSTALLATION_ROOT: ${{github.workspace}}/vcpkg strategy: fail-fast: false matrix: @@ -29,7 +30,7 @@ jobs: - name: Checkout VCPKG run: | git clone https://www.github.com/microsoft/vcpkg && cd vcpkg && ./bootstrap-vcpkg.sh - + echo "$VCPKG_INSTALLATION_ROOT" >> $GITHUB_PATH - name: Set up Python uses: actions/setup-python@v4 with: @@ -61,10 +62,10 @@ jobs: -source "https://nuget.pkg.github.com/BlueQuartzSoftware/index.json" - name: Configure run: | - export PATH=$PATH:${{github.workspace}}/vcpkg; export VCPKG_INSTALLATION_ROOT=${{github.workspace}}/vcpkg; cmake --preset ci-macos-arm64 ${{github.workspace}} + cmake --preset ci-macos-arm64 ${{github.workspace}} - name: Build run: | - export PATH=$PATH:${{github.workspace}}/vcpkg; export VCPKG_INSTALLATION_ROOT=${{github.workspace}}/vcpkg; cmake --build --preset ci-macos-arm64 + cmake --build --preset ci-macos-arm64 - name: Test run: | - export PATH=$PATH:${{github.workspace}}/vcpkg; export VCPKG_INSTALLATION_ROOT=${{github.workspace}}/vcpkg; ctest --preset ci-macos-arm64 + ctest --preset ci-macos-arm64 From 85b2dae8362d222a4fbbecb9552090ba6bbab5e3 Mon Sep 17 00:00:00 2001 From: Jared Duffey Date: Fri, 9 Feb 2024 11:15:14 -0500 Subject: [PATCH 3/4] Removed duplicate checkout step Signed-off-by: Jared Duffey --- .github/workflows/asan.yml | 1 - .github/workflows/linux.yml | 1 - .github/workflows/macos.yml | 1 - 3 files changed, 3 deletions(-) diff --git a/.github/workflows/asan.yml b/.github/workflows/asan.yml index 9214491785..43b1b4173d 100644 --- a/.github/workflows/asan.yml +++ b/.github/workflows/asan.yml @@ -14,7 +14,6 @@ jobs: uses: actions/checkout@v3 with: submodules: true - - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml index 26065020cf..86221ba851 100644 --- a/.github/workflows/linux.yml +++ b/.github/workflows/linux.yml @@ -36,7 +36,6 @@ jobs: uses: actions/checkout@v3 with: submodules: true - - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index d083cfc9a5..8e5f3c0de2 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -25,7 +25,6 @@ jobs: uses: actions/checkout@v3 with: submodules: true - - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: From d9ad940203df6f1bc0d97d5ead00f67fa90bb6c2 Mon Sep 17 00:00:00 2001 From: Jared Duffey Date: Fri, 9 Feb 2024 11:16:45 -0500 Subject: [PATCH 4/4] Merged macos-arm64 CI build into macos.yml Signed-off-by: Jared Duffey --- .github/workflows/macos.yml | 19 +++++++-- .github/workflows/macos_arm64.yml | 71 ------------------------------- 2 files changed, 16 insertions(+), 74 deletions(-) delete mode 100644 .github/workflows/macos_arm64.yml diff --git a/.github/workflows/macos.yml b/.github/workflows/macos.yml index 8e5f3c0de2..7bb1fd788b 100644 --- a/.github/workflows/macos.yml +++ b/.github/workflows/macos.yml @@ -19,12 +19,25 @@ jobs: matrix: os: - macos-11 + - macos-14 + include: + - os: macos-11 + preset: ci-macos-x64 + - os: macos-14 + preset: ci-macos-arm64 runs-on: ${{matrix.os}} steps: - name: Checkout uses: actions/checkout@v3 with: submodules: true + - name: Checkout vcpkg + run: | + git clone https://www.github.com/microsoft/vcpkg && cd vcpkg && ./bootstrap-vcpkg.sh + VCPKG_INSTALLATION_ROOT=${{github.workspace}}/vcpkg + echo "$VCPKG_INSTALLATION_ROOT" >> $GITHUB_PATH + echo "VCPKG_INSTALLATION_ROOT=$VCPKG_INSTALLATION_ROOT" >> "$GITHUB_ENV" + if: matrix.os == 'macos-14' - name: Set up Python uses: actions/setup-python@v4 with: @@ -56,10 +69,10 @@ jobs: -source "https://nuget.pkg.github.com/BlueQuartzSoftware/index.json" - name: Configure run: | - cmake --preset ci-macos-x64 ${{github.workspace}} + cmake --preset ${{matrix.preset}} ${{github.workspace}} - name: Build run: | - cmake --build --preset ci-macos-x64 + cmake --build --preset ${{matrix.preset}} - name: Test run: | - ctest --preset ci-macos-x64 + ctest --preset ${{matrix.preset}} diff --git a/.github/workflows/macos_arm64.yml b/.github/workflows/macos_arm64.yml deleted file mode 100644 index 3c906aac70..0000000000 --- a/.github/workflows/macos_arm64.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: macos - -on: - pull_request: - branches: - - develop - - master - push: - branches: - - develop - - master - -jobs: - build: - env: - VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite' - VCPKG_INSTALLATION_ROOT: ${{github.workspace}}/vcpkg - strategy: - fail-fast: false - matrix: - os: - - macos-14 - runs-on: ${{matrix.os}} - steps: - - name: Checkout - uses: actions/checkout@v3 - with: - submodules: true - - uses: actions/checkout@v4 - - name: Checkout VCPKG - run: | - git clone https://www.github.com/microsoft/vcpkg && cd vcpkg && ./bootstrap-vcpkg.sh - echo "$VCPKG_INSTALLATION_ROOT" >> $GITHUB_PATH - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - name: Install Python dependencies - run: | - python -m pip install --upgrade pip - pip install sphinx myst-parser sphinx-markdown-tables sphinx_rtd_theme numpy - - name: Add C++ Problem Matcher - uses: ammaraskar/gcc-problem-matcher@0.2.0 - - name: Install Dependencies - 2 - run: | - brew install ninja - - name: Install Sphinx - run: | - sudo pip3 install sphinx myst-parser sphinx-markdown-tables sphinx_rtd_theme numpy - - name: Setup NuGet Credentials - shell: bash - run: | - mono `${{github.workspace}}/vcpkg/vcpkg fetch nuget | tail -n 1` \ - sources add \ - -source "https://nuget.pkg.github.com/BlueQuartzSoftware/index.json" \ - -storepasswordincleartext \ - -name "GitHub" \ - -username "BlueQuartzSoftware" \ - -password "${{secrets.GITHUB_TOKEN}}" - mono `${{github.workspace}}/vcpkg/vcpkg fetch nuget | tail -n 1` \ - setapikey "${{secrets.GITHUB_TOKEN}}" \ - -source "https://nuget.pkg.github.com/BlueQuartzSoftware/index.json" - - name: Configure - run: | - cmake --preset ci-macos-arm64 ${{github.workspace}} - - name: Build - run: | - cmake --build --preset ci-macos-arm64 - - name: Test - run: | - ctest --preset ci-macos-arm64