conan+ci: update

This commit is contained in:
Anonymous Maarten
2021-01-02 20:46:03 +01:00
parent 9c5b50536e
commit dd01289f38
2 changed files with 91 additions and 25 deletions

View File

@ -1,4 +1,4 @@
name: Build using conan
name: Build using conan+cmake
on:
pull_request:
push:
@ -10,18 +10,22 @@ jobs:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
platform: ['null', 'gl3', 'd3d9', 'ps2']
gl3_gfxlib: ['glfw', 'sdl2']
exclude:
- os: windows-latest
platform: ps2
- os: ubuntu-latest
platform: d3d9
- os: ubuntu-latest
platform: ps2 # FIXME: add ps2toolchain conan package + ps2 profile
- os: macos-latest
platform: d3d9
- os: macos-latest
platform: ps2
- platform: 'null'
gl3_gfxlib: sdl2
- platform: d3d9
gl3_gfxlib: sdl2
- platform: ps2
gl3_gfxlib: sdl2
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.platform == 'ps2' }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
@ -30,17 +34,50 @@ jobs:
- name: "Setup conan"
run: |
python -m pip install conan
conan user
conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan
conan config init
conan config set log.print_run_commands=True
- name: "conan install (download/build dependencies)"
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"
if: ${{ matrix.platform == 'ps2' }}
shell: python
run: |
conan install ${{ github.workspace }} -if build -o platform=${{ matrix.platform }} --build missing
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 conan/playstation2 host_profile
else
cp ~/.conan/profiles/default host_profile
fi
- name: "Export Playstation 2 CMake toolchain conan recipe"
run: |
conan export cmake/ps2toolchain ps2dev-cmaketoolchain/master@
- name: "Download/build dependencies (conan install)"
run: |
conan install ${{ github.workspace }} librw/master@ -if build -o platform=${{ matrix.platform }} -o gl3_gfxlib=${{ matrix.gl3_gfxlib}} --build missing -pr:h ./host_profile -pr:b default
env:
CONAN_SYSREQUIRES_MODE: enabled
- name: "conan build (build librw)"
- name: "Build librw (conan build)"
run: |
conan build ${{ github.workspace }} -if build -bf build -pf package
- name: "conan package (package librw)"
- name: "Package librw (conan package)"
run: |
conan package ${{ github.workspace }} -if build -bf build -pf package
- name: "Create binary package (cpack)"
working-directory: ./build
run: |
cpack
- name: "Archive binary package (github artifacts)"
uses: actions/upload-artifact@v2
with:
name: "${{ matrix.os }}-${{ matrix.platform }}"
path: build/*.tar.xz
if-no-files-found: error