RS-273: Refactor CI actions and add build for Windows #325
Workflow file for this run
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: ci | |
on: | |
push: | |
branches: [ main ] | |
tags: | |
- 'v*' | |
pull_request: | |
branches: [ main ] | |
jobs: | |
cpplint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build cpplint image | |
run: pip install cpplint | |
- name: Check code in /src | |
run: find src/ -name "*.cc" -o -name "*.h" | xargs cpplint | |
- name: Check code in /tests | |
run: find tests/ -name "*.cc" -o -name "*.h" | xargs cpplint | |
- name: Check code in /examples | |
run: find examples/ -name "*.cc" -o -name "*.h" | xargs cpplint | |
test-pkg-with-conan: | |
runs-on: ${{ matrix.os }} | |
needs: cpplint | |
strategy: | |
matrix: | |
os: [ ubuntu-22.04, windows-2019 ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install conan | |
run: pip3 install conan==1.64.1 | |
- uses: ./.github/actions/build-package | |
test-pkg-without-conan: | |
runs-on: ${{ matrix.os }} | |
needs: cpplint | |
strategy: | |
matrix: | |
include: | |
- os: ubuntu-22.04 | |
install: "true" | |
- os: windows-latest | |
install: "false" | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/build-package | |
with: | |
install: ${{ matrix.install }} | |
unit-tests: | |
strategy: | |
matrix: | |
token: [ "", "TOKEN" ] | |
reductstore_version: [ "main", "latest" ] | |
license_file: [ "", "lic.key" ] | |
include: | |
- token: "" | |
exclude_token_api_tag: "~[token_api]" | |
- token: "TOKEN" | |
exclude_token_api_tag: "" | |
- reductstore_version: "main" | |
exclude_api_version_tag: "" | |
- reductstore_version: "latest" | |
exclude_api_version_tag: "~[1_11]" | |
- license_file: "" | |
exclude_license_tag: "~[license]" | |
needs: | |
- cpplint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/build-package | |
- name: Generate license | |
run: echo '${{secrets.LICENSE_KEY}}' > lic.key | |
- uses: ./.github/actions/run-tests | |
with: | |
api-token: ${{matrix.token}} | |
tags: "${{matrix.exclude_token_api_tag}} ${{matrix.exclude_api_version_tag}} ${{matrix.exclude_license_tag}}" | |
reductstore-version: ${{matrix.reductstore_version}} | |
lic_file: ${{matrix.license_file}} |