diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 245e21b..7903390 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -43,9 +43,11 @@ jobs: with: arch: amd64_x86 - - name: Package + - name: CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 + + - name: Build run: | - cmake -B ${{github.workspace}}/pack -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 cmake --build ${{github.workspace}}/pack --config Release cpack --config ${{github.workspace}}/pack/CPackConfig.cmake -C Release -G ZIP @@ -53,3 +55,65 @@ jobs: with: name: windows-latest Release binaries path: ${{github.workspace}}/*.zip + + linux-build: + name: "Build on Ubuntu" + runs-on: + - ubuntu-latest + + permissions: + actions: write + + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.10.0 + with: + access_token: ${{ github.token }} + + - name: Checkout + uses: actions/checkout@v3 + with: + submodules: true + + - name: CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 + + - name: Build + run: | + cmake --build ${{github.workspace}}/pack --config Release + cpack --config ${{github.workspace}}/pack/CPackConfig.cmake -C Release -G ZIP + + - uses: actions/upload-artifact@v3 + with: + name: ubuntu-latest Release binaries + path: ${{github.workspace}}/*.zip + + mac-build: + name: "Build on Mac" + runs-on: macos-latest + + permissions: + actions: write + + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.10.0 + with: + access_token: ${{ github.token }} + + - uses: actions/checkout@v3 + with: + submodules: true + + - name: CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" + + - name: Build + run: | + cmake --build ${{github.workspace}}/build --config Release + cpack --config ${{github.workspace}}/build/CPackConfig.cmake -C Release -G ZIP + + - uses: actions/upload-artifact@v3 + with: + name: macos-latest Release binaries + path: ${{github.workspace}}/*.zip diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 574b015..4520ec1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,7 +61,10 @@ jobs: ctest -C Release -L anyplatform --output-on-failure ctest -C Release -L acquire-driver-spinnaker --output-on-failure - - name: Package + - name: CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 + + - name: Build run: | cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 cmake --build ${{github.workspace}}/build --config Release @@ -72,9 +75,80 @@ jobs: name: Windows Release binaries path: ${{github.workspace}}/*.zip + linux-build: + name: "Build on Ubuntu" + runs-on: + - ubuntu-latest + + permissions: + actions: write + + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.10.0 + with: + access_token: ${{ github.token }} + + - uses: actions/checkout@v3 + with: + submodules: true + + - name: CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 + + - name: Build + run: | + cmake --build ${{github.workspace}}/build --config Release + cpack --config ${{github.workspace}}/build/CPackConfig.cmake -C Release -G ZIP + + - name: Test # don't release unless tests pass + working-directory: ${{github.workspace}}/build + run: ctest -C Release -L anyplatform --output-on-failure + + - uses: actions/upload-artifact@v3 + with: + name: ubuntu-latest Release binaries + path: ${{github.workspace}}/*.zip + + mac-build: + name: "Build on Mac" + runs-on: macos-latest + + permissions: + actions: write + + steps: + - name: Cancel Previous Runs + uses: styfle/cancel-workflow-action@0.10.0 + with: + access_token: ${{ github.token }} + + - uses: actions/checkout@v3 + with: + submodules: true + + - name: CMake + run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DNOTEST=1 -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" + + - name: Build + run: | + cmake --build ${{github.workspace}}/build --config Release + cpack --config ${{github.workspace}}/build/CPackConfig.cmake -C Release -G ZIP + + - name: Test # don't release unless tests pass + working-directory: ${{github.workspace}}/build + run: ctest -C Release -L anyplatform --output-on-failure + + - uses: actions/upload-artifact@v3 + with: + name: macos-latest Release binaries + path: ${{github.workspace}}/*.zip + release: needs: - windows-build + - linux-build + - mac-build name: "Release" runs-on: "ubuntu-latest"