diff options
Diffstat (limited to '')
-rw-r--r-- | .github/workflows/build-cmake-conan.yml | 116 | ||||
-rw-r--r-- | .github/workflows/re3_msvc_amd64.yml | 18 | ||||
-rw-r--r-- | .github/workflows/re3_msvc_x86.yml | 19 |
3 files changed, 143 insertions, 10 deletions
diff --git a/.github/workflows/build-cmake-conan.yml b/.github/workflows/build-cmake-conan.yml new file mode 100644 index 00000000..76359106 --- /dev/null +++ b/.github/workflows/build-cmake-conan.yml @@ -0,0 +1,116 @@ +name: re3 conan+cmake +on: + pull_request: + push: + release: + types: published +jobs: + build-cmake: + strategy: + matrix: + include: + - os: 'windows-latest' + platform: 'gl3' + gl3_gfxlib: 'glfw' + audio: 'openal' +# - os: 'windows-latest' +# platform: 'gl3' +# gl3_gfxlib: 'sdl2' +# audio: 'openal' + - os: 'windows-latest' + platform: 'd3d9' + audio: 'openal' +# - os: 'windows-latest' +# platform: 'd3d9' +# audio: 'miles' + - os: 'ubuntu-latest' + platform: 'gl3' + gl3_gfxlib: 'glfw' + audio: 'openal' +# - os: 'ubuntu-latest' +# platform: 'gl3' +# gl3_gfxlib: 'sdl2' +# audio: 'openal' + - os: 'macos-latest' + platform: 'gl3' + gl3_gfxlib: 'glfw' + audio: 'openal' +# - os: 'macos-latest' +# platform: 'gl3' +# gl3_gfxlib: 'sdl2' +# audio: 'openal' + runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.platform == 'ps2' || matrix.gl3_gfxlib == 'sdl2' || matrix.audio == 'miles' }} + steps: + - uses: actions/checkout@v2 + with: + submodules: true + - name: "Checkout Miles SDK Import Library project" + uses: actions/checkout@v2 + if: ${{ matrix.audio == 'miles' }} + with: + repository: 'withmorten/re3mss' + path: 're3mss' + - uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: "Use XCode 11 as default (conan-center-index does not provide XCode 12 binaries at the moment)" + if: startsWith(matrix.os, 'macos') + run: | + sudo xcode-select --switch /Applications/Xcode_11.7.app + - name: "Setup conan" + run: | + python -m pip install conan + conan config init + conan config set log.print_run_commands=True + conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan + conan remote add madebr_ps2dev https://api.bintray.com/conan/madebr/ps2dev + - name: "Add os=playstation2 + gcc.version=3.2 to .conan/settings.yml" + shell: python + run: | + import os, yaml + settings_path = os.path.expanduser("~/.conan/settings.yml") + yml = yaml.safe_load(open(settings_path)) + yml["os"]["playstation2"] = None + yml["compiler"]["gcc"]["version"].append("3.2") + yml["compiler"]["gcc"]["version"].sort() + yaml.safe_dump(yml, open(settings_path, "w")) + - name: "Create host profile" + shell: bash + run: | + if test "${{ matrix.platform }}" = "ps2"; then + cp vendor/librw/conan/playstation2 host_profile + else + cp ~/.conan/profiles/default host_profile + fi + - name: "Export Playstation 2 CMake toolchain conan recipe" + run: | + conan export vendor/librw/cmake/ps2toolchain ps2dev-cmaketoolchain/master@ + - name: "Export librw conan recipe" + run: | + conan export vendor/librw librw/master@ + - name: "Export Miles SDK conan recipe" + if: ${{ matrix.audio == 'miles' }} + run: | + conan export re3mss miles-sdk/master@ + - name: "Download/build dependencies (conan install)" + run: | + conan install ${{ github.workspace }} re3/master@ -if build -o re3:audio=${{ matrix.audio }} -o librw:platform=${{ matrix.platform }} -o librw:gl3_gfxlib=${{ matrix.gl3_gfxlib || 'glfw' }} --build missing -pr:h ./host_profile -pr:b default -s re3:build_type=RelWithDebInfo -s librw:build_type=RelWithDebInfo + env: + CONAN_SYSREQUIRES_MODE: enabled + - name: "Build re3 (conan build)" + run: | + conan build ${{ github.workspace }} -if build -bf build -pf package + - name: "Package re3 (conan package)" + run: | + conan package ${{ github.workspace }} -if build -bf build -pf package + - name: "Create binary package (cpack)" + working-directory: ./build + run: | + cpack -C RelWithDebInfo + - name: "Archive binary package (github artifacts)" + uses: actions/upload-artifact@v2 + with: + name: "${{ matrix.os }}-${{ matrix.platform }}" + path: build/*.zip + if-no-files-found: error diff --git a/.github/workflows/re3_msvc_amd64.yml b/.github/workflows/re3_msvc_amd64.yml index 8f22af56..78994650 100644 --- a/.github/workflows/re3_msvc_amd64.yml +++ b/.github/workflows/re3_msvc_amd64.yml @@ -1,4 +1,4 @@ -name: re3_msvc_amd64 +name: re3 premake amd64 on: pull_request: @@ -20,7 +20,7 @@ jobs: strategy: matrix: platform: [win-amd64-librw_d3d9-oal, win-amd64-librw_gl3_glfw-oal] - buildtype: [Debug, Release] + buildtype: [Debug, Release, Vanilla] steps: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.2 @@ -48,14 +48,22 @@ jobs: - name: Build run: | msbuild -m build/re3.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}} - - name: Pack artifacts + # - name: Pack artifacts + # run: | + # 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + - name: Move binaries to gamefiles run: | - 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.exe ./gamefiles/ + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.pdb ./gamefiles/ + - name: Move dynamic dependencies to gamefiles + run: | + mv ./vendor/mpg123/dist/Win64/libmpg123-0.dll ./gamefiles/ + mv ./vendor/openal-soft/dist/Win64/OpenAL32.dll ./gamefiles/ - name: Upload artifact to actions uses: actions/upload-artifact@v2 with: name: re3_${{matrix.buildtype}}_${{matrix.platform}} - path: ./bin/${{matrix.platform}}/${{matrix.buildtype}} + path: ./gamefiles/* # - name: Upload artifact to Bintray # uses: hpcsc/upload-bintray-docker-action@v1 # with: diff --git a/.github/workflows/re3_msvc_x86.yml b/.github/workflows/re3_msvc_x86.yml index c0432280..ad60ce43 100644 --- a/.github/workflows/re3_msvc_x86.yml +++ b/.github/workflows/re3_msvc_x86.yml @@ -1,4 +1,4 @@ -name: re3_msvc_x86 +name: re3 premake x86 on: pull_request: @@ -20,7 +20,7 @@ jobs: strategy: matrix: platform: [win-x86-librw_d3d9-mss, win-x86-librw_gl3_glfw-mss, win-x86-librw_d3d9-oal, win-x86-librw_gl3_glfw-oal] - buildtype: [Debug, Release] + buildtype: [Debug, Release, Vanilla] steps: - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.2 @@ -48,14 +48,23 @@ jobs: - name: Build run: | msbuild -m build/re3.sln /property:Configuration=${{matrix.buildtype}} /property:Platform=${{matrix.platform}} - - name: Pack artifacts + # - name: Pack artifacts + # run: | + # 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + - name: Move binaries to gamefiles run: | - 7z a re3_${{matrix.buildtype}}_${{matrix.platform}}.zip ./bin/${{matrix.platform}}/${{matrix.buildtype}}/* + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.exe ./gamefiles/ + mv ./bin/${{matrix.platform}}/${{matrix.buildtype}}/re3.pdb ./gamefiles/ + - if: contains(matrix.platform, 'oal') + name: Move dynamic dependencies to gamefiles + run: | + mv ./vendor/mpg123/dist/Win32/libmpg123-0.dll ./gamefiles/ + mv ./vendor/openal-soft/dist/Win32/OpenAL32.dll ./gamefiles/ - name: Upload artifact to actions uses: actions/upload-artifact@v2 with: name: re3_${{matrix.buildtype}}_${{matrix.platform}} - path: re3_${{matrix.buildtype}}_${{matrix.platform}}.zip + path: ./gamefiles/* # - name: Upload artifact to Bintray # uses: hpcsc/upload-bintray-docker-action@v1 # with: |