Skip to content

Commit

Permalink
Update CPM.cmake and cache dependencies in workflows (#70)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
TheLartians authored Jan 20, 2021
1 parent 8dc50e5 commit 8ba41ae
Show file tree
Hide file tree
Showing 8 changed files with 130 additions and 87 deletions.
11 changes: 9 additions & 2 deletions .github/workflows/documentation.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: Documentation
on:
push:
tags:
- '*'
- "*"

jobs:
build:
Expand All @@ -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
Expand Down
46 changes: 26 additions & 20 deletions .github/workflows/install.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,31 @@ env:

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

- name: build and install library
run: |
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release
sudo cmake --build build --target install
rm -rf build
- name: configure
run: cmake -Htest -Bbuild -DTEST_INSTALLED_VERSION=1

- name: build
run: cmake --build build --config Debug -j4

- name: test
run: |
cd build
ctest --build-config Debug
- 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
sudo cmake --build build --target install
rm -rf build
- name: configure
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

- name: test
run: |
cd build
ctest --build-config Debug
34 changes: 20 additions & 14 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,25 @@ env:

jobs:
build:

runs-on: macos-latest

steps:
- uses: actions/checkout@v1

- name: configure
run: cmake -Htest -Bbuild -DCMAKE_BUILD_TYPE=Debug

- name: build
run: cmake --build build -j4

- name: test
run: |
cd build
ctest --build-config Debug
- uses: actions/checkout@v1

- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: configure
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild -DCMAKE_BUILD_TYPE=Debug

- name: build
run: cmake --build build -j4

- name: test
run: |
cd build
ctest --build-config Debug
26 changes: 16 additions & 10 deletions .github/workflows/standalone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,23 @@ on:

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

- name: configure
run: cmake -Hstandalone -Bbuild -DCMAKE_BUILD_TYPE=Debug
- uses: actions/checkout@v1

- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: configure
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
- name: build
run: cmake --build build -j4

- name: run
run: ./build/Greeter
- name: run
run: ./build/Greeter
30 changes: 18 additions & 12 deletions .github/workflows/style.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,19 +10,25 @@ on:

jobs:
build:

runs-on: macos-latest

steps:
- uses: actions/checkout@v1

- name: Install format dependencies
run: |
brew install clang-format
pip3 install cmake_format==0.6.11 pyyaml
- 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
- name: configure
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild

- name: check style
run: cmake --build build --target check-format
- name: check style
run: cmake --build build --target check-format
34 changes: 20 additions & 14 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,28 @@ env:

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1

- name: configure
run: cmake -Htest -Bbuild -DENABLE_TEST_COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug
- uses: actions/checkout@v1

- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: configure
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
- name: build
run: cmake --build build -j4

- name: test
run: |
cd build
ctest --build-config Debug
- name: test
run: |
cd build
ctest --build-config Debug
- name: collect code coverage
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"
- name: collect code coverage
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"
34 changes: 20 additions & 14 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,25 @@ env:

jobs:
build:

runs-on: windows-latest

steps:
- uses: actions/checkout@v1

- name: configure
run: cmake -Htest -Bbuild

- name: build
run: cmake --build build --config Debug -j4

- name: test
run: |
cd build
ctest --build-config Debug
- uses: actions/checkout@v1

- uses: actions/cache@v2
with:
path: "**/cpm_modules"
key: ${{ github.action }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}

- name: configure
env:
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
run: cmake -Stest -Bbuild

- name: build
run: cmake --build build --config Debug -j4

- name: test
run: |
cd build
ctest --build-config Debug
2 changes: 1 addition & 1 deletion cmake/CPM.cmake
Original file line number Diff line number Diff line change
@@ -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")
Expand Down

0 comments on commit 8ba41ae

Please sign in to comment.