1
0
Fork 0
mirror of https://github.com/TheLartians/ModernCppStarter.git synced 2025-08-30 13:41:13 +02:00

Update CPM.cmake and cache dependencies in workflows (#70)

* update CPM.cmake to 0.28.0

* cache CPM.cmake dependencies

* create modules directory if it doesn't exist on windows

* experiment with env variable

* experiment 2

* experiment 3

* use env for all workflows

* make cache keys OS dependent

* replace env.GITHUB_ with github.workspace

* format workflow files

* update cache key

* use unique key for each workflow
This commit is contained in:
Lars Melchior 2021-01-20 19:00:20 +01:00 committed by GitHub
parent 8dc50e5294
commit 8ba41ae49c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 123 additions and 80 deletions

View file

@ -3,7 +3,7 @@ name: Documentation
on:
push:
tags:
- '*'
- "*"
jobs:
build:
@ -12,14 +12,21 @@ jobs:
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: Install dependencies
run: |
brew install doxygen
pip3 install jinja2 Pygments
- name: Build
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: |
cmake -Hdocumentation -Bbuild
cmake -Sdocumentation -Bbuild
cmake --build build --target GenerateDocs
- name: Publish

View file

@ -13,12 +13,16 @@ env:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: build and install library
run: |
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release
@ -26,7 +30,9 @@ jobs:
rm -rf build
- name: configure
run: cmake -Htest -Bbuild -DTEST_INSTALLED_VERSION=1
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild -DTEST_INSTALLED_VERSION=1
- name: build
run: cmake --build build --config Debug -j4

View file

@ -13,14 +13,20 @@ env:
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: configure
run: cmake -Htest -Bbuild -DCMAKE_BUILD_TYPE=Debug
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild -DCMAKE_BUILD_TYPE=Debug
- name: build
run: cmake --build build -j4

View file

@ -10,14 +10,20 @@ on:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: configure
run: cmake -Hstandalone -Bbuild -DCMAKE_BUILD_TYPE=Debug
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Sstandalone -Bbuild -DCMAKE_BUILD_TYPE=Debug -DCMAKE_BUILD_TYPE=Debug
- name: build
run: cmake --build build -j4

View file

@ -10,19 +10,25 @@ on:
jobs:
build:
runs-on: macos-latest
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: Install format dependencies
run: |
brew install clang-format
pip3 install cmake_format==0.6.11 pyyaml
- name: configure
run: cmake -Htest -Bbuild
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild
- name: check style
run: cmake --build build --target check-format

View file

@ -14,14 +14,20 @@ env:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: configure
run: cmake -Htest -Bbuild -DENABLE_TEST_COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild -DENABLE_TEST_COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug
- name: build
run: cmake --build build -j4

View file

@ -13,14 +13,20 @@ env:
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v1
- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
- name: configure
run: cmake -Htest -Bbuild
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild
- name: build
run: cmake --build build --config Debug -j4

View file

@ -1,4 +1,4 @@
set(CPM_DOWNLOAD_VERSION 0.27.2)
set(CPM_DOWNLOAD_VERSION 0.28.0)
if(CPM_SOURCE_CACHE)
set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")