Merge pull request #1 from physycom/dev/ci #11
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Physycom Continuous Integration | |
on: | |
pull_request: | |
push: | |
workflow_dispatch: | |
inputs: | |
debug_enabled: | |
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)' | |
required: false | |
default: false | |
schedule: | |
- cron: '30 6 * * 1' # every monday at 6:30 | |
env: | |
VCPKG_BINARY_SOURCES: 'clear;nuget,vcpkgbinarycache,readwrite' | |
jobs: | |
ubuntu-vcpkg: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- uses: lukka/get-cmake@latest | |
- name: Update apt | |
run: sudo apt update | |
- name: Install dependencies | |
run: sudo apt-get install -y yasm nasm libglu1-mesa-dev freeglut3-dev mesa-common-dev libxcursor-dev libxft-dev libxinerama-dev | |
- name: 'Setup vcpkg and NuGet artifacts backend' | |
shell: bash | |
run: > | |
git clone https://github.com/microsoft/vcpkg ; | |
./vcpkg/bootstrap-vcpkg.sh ; | |
mono $(./vcpkg/vcpkg fetch nuget | tail -n 1) sources add | |
-Name "vcpkgbinarycache" | |
-Source http://93.49.111.10:5555/v3/index.json | |
- name: Setup NuGet API key if found | |
shell: bash | |
env: | |
BAGET_API_KEY: ${{ secrets.BAGET_API_KEY }} | |
if: env.BAGET_API_KEY != null | |
run: > | |
mono $(./vcpkg/vcpkg fetch nuget | tail -n 1) | |
setapikey ${{ secrets.BAGET_API_KEY }} | |
-Source http://93.49.111.10:5555/v3/index.json | |
- name: 'Build' | |
shell: pwsh | |
run: ${{ github.workspace }}/ccm/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -DisableInteractive -DoNotUpdateTOOL | |
osx-vcpkg: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- name: Install dependencies | |
run: brew install libomp yasm nasm | |
- uses: lukka/get-cmake@latest | |
- name: 'Setup vcpkg and NuGet artifacts backend' | |
shell: bash | |
run: > | |
git clone https://github.com/microsoft/vcpkg ; | |
./vcpkg/bootstrap-vcpkg.sh ; | |
mono $(./vcpkg/vcpkg fetch nuget | tail -n 1) sources add | |
-Name "vcpkgbinarycache" | |
-Source http://93.49.111.10:5555/v3/index.json | |
- name: Setup NuGet API key if found | |
shell: bash | |
env: | |
BAGET_API_KEY: ${{ secrets.BAGET_API_KEY }} | |
if: env.BAGET_API_KEY != null | |
run: > | |
mono $(./vcpkg/vcpkg fetch nuget | tail -n 1) | |
setapikey ${{ secrets.BAGET_API_KEY }} | |
-Source http://93.49.111.10:5555/v3/index.json | |
- name: 'Build' | |
shell: pwsh | |
run: ${{ github.workspace }}/ccm/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -DisableInteractive -DoNotUpdateTOOL | |
win-vcpkg: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v3 | |
if: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.debug_enabled }} | |
- uses: lukka/get-cmake@latest | |
- name: Setup vcpkg and NuGet artifacts backend | |
shell: bash | |
run: > | |
git clone https://github.com/microsoft/vcpkg ; | |
./vcpkg/bootstrap-vcpkg.sh ; | |
$(./vcpkg/vcpkg fetch nuget | tail -n 1) sources add | |
-Name "vcpkgbinarycache" | |
-Source http://93.49.111.10:5555/v3/index.json | |
- name: Setup NuGet API key if found | |
shell: bash | |
env: | |
BAGET_API_KEY: ${{ secrets.BAGET_API_KEY }} | |
if: env.BAGET_API_KEY != null | |
run: > | |
$(./vcpkg/vcpkg fetch nuget | tail -n 1) | |
setapikey ${{ secrets.BAGET_API_KEY }} | |
-Source http://93.49.111.10:5555/v3/index.json | |
- name: Build | |
shell: pwsh | |
run: ${{ github.workspace }}/ccm/build.ps1 -UseVCPKG -DoNotUpdateVCPKG -DisableInteractive -DoNotUpdateTOOL -ForceLocalVCPKG |