An action to set up the toolchain on CI used for building spatial-model-editor and its dependencies.
OS=linux- Linux (X64)
- clang 19
OS=linux-arm64- Linux (ARM64)
- clang 19
OS=osx-arm64- macOS (ARM64 only)
- xcode 16.1
MACOSX_DEPLOYMENT_TARGET=13
OS=win64- Windows (X64)
- Visual Studio 2022 MSVC
- MSVC toolset
14.44
OS=win64-arm64- Windows (ARM64)
- Visual Studio 2022 MSVC
- MSVC toolset
14.44
To use the latest version of this action:
- uses: spatial-model-editor/setup-ci@latestTo use a specific tag:
- uses: spatial-model-editor/setup-ci@2024.01.01To also download pre-compiled dependencies, set the version tag or "latest":
- uses: spatial-model-editor/setup-ci@2024.01.01
with:
sme_deps_common: 2024.01.05If multiple jobs have the same id (e.g. when using matrix strategy) then an optional cache_id can be supplied to avoid "cache already exists" errors:
- uses: spatial-model-editor/setup-ci@2024.01.01
with:
cache_id: my-unique-job-idYou can also install additional platform-native packages via extra-deps:
- Linux: apt package names
- macOS: Homebrew formula names
- Windows: Chocolatey package names
- uses: spatial-model-editor/setup-ci@2024.01.01
with:
extra-deps: libfoo-devYou can also specify an optional build tag to download specific builds of libs, currently only _tsan is supported
- uses: spatial-model-editor/setup-ci@2024.01.01
with:
sme_deps_common: 2024.01.05
build_tag: _tsanThis action exports the following environment variables for subsequent workflow steps:
CCACHE_VERSION: ccache version installed by the action, currently4.12.1PYTHON_VERSION: Python version installed by the action, currently3.12MSVC_TOOLSET: Windows MSVC toolset version used by the action, currently14.44TARGET_TRIPLE: target platform triple for the current runnerHOST_TRIPLE: host platform triple for the current runnerOS: one oflinux,linux-arm64,osx-arm64,win64, orwin64-arm64CCACHE_ARCH: ccache archive architecture,x86_64oraarch64INSTALL_PREFIX:/opt/smelibson Linux/macOS,c:/smelibson WindowsSUDO_CMD:sudoon Linux/macOS, empty on WindowsPYTHON_EXE:pythonCC:clangon Linux/macOS,clon WindowsCXX:clang++on Linux/macOS,clon WindowsMACOSX_DEPLOYMENT_TARGET:13on macOS ARM64 runners only
To make a new release of this action, the commit should be tagged with a new tag of the date in form YYYY.MM.DD.
Additionally the latest tag should be moved to the same commit, so that workflows using this tag always get the latest version.
e.g.
git commit -am "update clang to 18"
git push
git tag 2024.01.01
git push origin 2024.01.01
git tag -f latest
git push origin -f latest