Skip to content

CI

CI #389

Workflow file for this run

name: CI
# Avoid duplicate builds for pull requests, allow manual trigger.
on:
push:
branches: [ main ]
pull_request:
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
build:
strategy:
matrix:
os:
- windows-2019
- macos-12
- ubuntu-22.04
runs-on: ${{ matrix.os }}
steps:
- run: git config --global core.autocrlf false
- name: Get sources
uses: actions/checkout@v4
- name: Cache Deps
uses: actions/cache@v4
with:
path: ./third_party/*
key: ${{ runner.os }}-${{ github.workspace }}-deps-${{ hashFiles('./third_party/*') }}
- run: make
- run: make test-depend
- run: make test
- if: matrix.os == 'windows-2019'
run: cd test/standalone-cmake && cmake -DMULTI="Visual Studio 16 2019" -P test-cmake-generators.cmake
- if: matrix.os == 'ubuntu-22.04'
run: cd test/standalone-cmake && cmake -DSINGLE="Unix Makefiles" -P test-cmake-generators.cmake
- if: matrix.os == 'macos-12'
# Exclude cpp-*-multiple-targets test-projects for Xcode
run: cd test/standalone-cmake && cmake -DMULTI="Xcode" -DPROJECTS="cpp-flat;cpp-tree;cpp-multiple-schema-dirs" -P test-cmake-generators.cmake
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: objectbox-generator-${{ runner.os }}
path: objectbox-generator*