summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.github/workflows/build-cmake-conan.yml116
-rw-r--r--.github/workflows/re3_msvc_amd64.yml18
-rw-r--r--.github/workflows/re3_msvc_x86.yml19
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: