From 3666ab8f3b43577551aa2bea24d42cb5aab2be20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20D=C3=BCrrenberger?= Date: Fri, 25 Mar 2022 21:19:14 +0100 Subject: [PATCH] Add artifact storage for GitHub Actions --- .github/workflows/ci.yml | 96 +++++++++++++++++++++++++++------------- 1 file changed, 65 insertions(+), 31 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d78bbc..e5776c1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,40 +11,74 @@ jobs: fail-fast: false matrix: platform: - - { name: Windows VS2017, os: windows-2016 } - - { name: Windows VS2019, os: windows-latest } - - { name: Linux GCC, os: ubuntu-latest } - - { name: Linux Clang, os: ubuntu-latest, flags: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ } - - { name: MacOS XCode, os: macos-latest, flags: -DSFML_BUILD_FRAMEWORKS=FALSE, prefix: sudo } + - { + name: Windows VS2019, + os: windows-2019, + sfml-flags: -DBUILD_SHARED_LIBS=FALSE -DSFML_USE_STATIC_STD_LIBS=TRUE, + csfml-flags: -DCSFML_LINK_SFML_STATICALLY=TRUE -DSTATIC_STD_LIBS=TRUE, + } + - { + name: Windows VS2022, + os: windows-2022, + sfml-flags: -DBUILD_SHARED_LIBS=FALSE -DSFML_USE_STATIC_STD_LIBS=TRUE, + csfml-flags: -DCSFML_LINK_SFML_STATICALLY=TRUE -DSTATIC_STD_LIBS=TRUE, + } + - { + name: Linux GCC, + os: ubuntu-latest, + sfml-flags: -DBUILD_SHARED_LIBS=TRUE -DSFML_USE_STATIC_STD_LIBS=FALSE, + csfml-flags: -DCSFML_LINK_SFML_STATICALLY=FALSE -DSTATIC_STD_LIBS=FALSE, + } + - { + name: Linux Clang, + os: ubuntu-latest, + flags: -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++, + sfml-flags: -DBUILD_SHARED_LIBS=TRUE -DSFML_USE_STATIC_STD_LIBS=FALSE, + csfml-flags: -DCSFML_LINK_SFML_STATICALLY=FALSE -DSTATIC_STD_LIBS=FALSE, + } + - { + name: MacOS XCode, + os: macos-latest, + prefix: sudo, + flags: -DSFML_BUILD_FRAMEWORKS=FALSE, + sfml-flags: -DBUILD_SHARED_LIBS=TRUE -DSFML_USE_STATIC_STD_LIBS=FALSE, + csfml-flags: -DCSFML_LINK_SFML_STATICALLY=FALSE -DSTATIC_STD_LIBS=FALSE, + } steps: - - name: Install Linux Dependencies - if: runner.os == 'Linux' - run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev + - name: Install Linux Dependencies + if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install libxrandr-dev libxcursor-dev libudev-dev libopenal-dev libflac-dev libvorbis-dev libgl1-mesa-dev libegl1-mesa-dev - - name: Checkout SFML - uses: actions/checkout@v2 - with: - repository: SFML/SFML - ref: 2.5.1 - path: SFML + - name: Checkout SFML + uses: actions/checkout@v3 + with: + repository: SFML/SFML + ref: 2.5.1 + path: SFML - - name: Configure SFML CMake - shell: bash - run: cmake -S $GITHUB_WORKSPACE/SFML -B $GITHUB_WORKSPACE/SFML/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML/install -DBUILD_SHARED_LIBS=TRUE -DSFML_BUILD_EXAMPLES=FALSE -DSFML_BUILD_TEST_SUITE=FALSE -DCMAKE_VERBOSE_MAKEFILE=ON ${{matrix.platform.flags}} - - - name: Build SFML - shell: bash - run: ${{matrix.platform.prefix}} cmake --build $GITHUB_WORKSPACE/SFML/build --config Release --target install + - name: Configure SFML CMake + shell: bash + run: cmake -S $GITHUB_WORKSPACE/SFML -B $GITHUB_WORKSPACE/SFML/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/SFML/install -DBUILD_SHARED_LIBS=FALSE -DSFML_BUILD_EXAMPLES=FALSE -DSFML_BUILD_TEST_SUITE=FALSE -DCMAKE_VERBOSE_MAKEFILE=ON ${{matrix.platform.flags}} ${{matrix.platform.sfml-flags}} - - name: Checkout CSFML - uses: actions/checkout@v2 - with: - path: CSFML + - name: Build SFML + shell: bash + run: ${{matrix.platform.prefix}} cmake --build $GITHUB_WORKSPACE/SFML/build --config Release --target install - - name: Configure CSFML CMake - shell: bash - run: cmake -S $GITHUB_WORKSPACE/CSFML -B $GITHUB_WORKSPACE/CSFML/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML/install -DBUILD_SHARED_LIBS=TRUE -DCSFML_LINK_SFML_STATICALLY=FALSE -DSFML_DIR=$GITHUB_WORKSPACE/SFML/install/lib/cmake/SFML -DCMAKE_VERBOSE_MAKEFILE=ON ${{matrix.platform.flags}} + - name: Checkout CSFML + uses: actions/checkout@v3 + with: + path: CSFML - - name: Build CSFML - shell: bash - run: cmake --build $GITHUB_WORKSPACE/CSFML/build --config Release --target install + - name: Configure CSFML CMake + shell: bash + run: cmake -S $GITHUB_WORKSPACE/CSFML -B $GITHUB_WORKSPACE/CSFML/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/CSFML/install -DBUILD_SHARED_LIBS=TRUE -DSFML_DIR=$GITHUB_WORKSPACE/SFML/install/lib/cmake/SFML -DCMAKE_VERBOSE_MAKEFILE=ON ${{matrix.platform.flags}} ${{matrix.platform.csfml-flags}} + + - name: Build CSFML + shell: bash + run: cmake --build $GITHUB_WORKSPACE/CSFML/build --config Release --target install + + - name: Upload CSFML Artefact + uses: actions/upload-artifact@v3 + with: + name: CSFML - ${{ matrix.platform.name }} + path: ${{ github.workspace }}/CSFML/install