-
Notifications
You must be signed in to change notification settings - Fork 116
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Install ninja Set triplet overlay Test new manylinux Test new img Test analysis flow Test with older toolset Test new appraoch IDK Remove newer gcc IDK IDK Test new vars Test new vars Test with non parallel Test with sccache 0.8.2 Try to explicitly define CXX in the Cmake step Test TEST TEST Fix other issues:
- Loading branch information
Vasil Pashov
authored and
Georgi Petrov
committed
Dec 2, 2024
1 parent
d4b8d6d
commit 2a6ff80
Showing
9 changed files
with
95 additions
and
26 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
name: 'Install GCC related dependencies' | ||
description: 'Installs GCC related dependencies for building ArcticDB' | ||
runs: | ||
using: "composite" | ||
steps: | ||
- name: Install deps | ||
shell: bash -l {0} | ||
run: | | ||
dnf update -y | ||
dnf remove -y 'gcc-toolset-13-*' | ||
dnf install -y zip flex bison gcc-toolset-10 gcc-toolset-10-gdb gcc-toolset-10-libatomic-devel krb5-devel cyrus-sasl-devel openssl-devel \ | ||
unzip tar epel-release jq wget libcurl-devel python3 \ | ||
python3-devel python3-pip perl-IPC-Cmd | ||
dnf groupinstall -y 'Development Tools' | ||
echo "CC=/opt/rh/gcc-toolset-10/root/bin/gcc" | tee -a $GITHUB_ENV | ||
echo "CMAKE_C_COMPILER=/opt/rh/gcc-toolset-10/root/bin/gcc" | tee -a $GITHUB_ENV | ||
echo "CXX=/opt/rh/gcc-toolset-10/root/bin/g++" | tee -a $GITHUB_ENV | ||
echo "CMAKE_CXX_COMPILER=/opt/rh/gcc-toolset-10/root/bin/g++" | tee -a $GITHUB_ENV | ||
echo "LD_LIBRARY_PATH=/opt/rh/gcc-toolset-10/root/usr/lib64:/opt/rh/gcc-toolset-10/root/usr/lib:/opt/rh/gcc-toolset-10/root/usr/lib64/dyninst" | tee -a $GITHUB_ENV | ||
echo "/opt/rh/devtoolset-10/root/usr/bin" | tee -a $GITHUB_PATH | ||
echo $GITHUB_ENV | ||
echo $GITHUB_PATH | ||
dnf install -y mono-complete | ||
dnf clean all | ||
# sccache | ||
sccache_ver=`curl -sL -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" \ | ||
https://api.github.com/repos/mozilla/sccache/releases/latest | jq -r ".tag_name"` | ||
wget -nv https://github.com/mozilla/sccache/releases/download/$sccache_ver/sccache-$sccache_ver-x86_64-unknown-linux-musl.tar.gz \ | ||
-O /tmp/sccache.tar.gz | ||
tar -xvf /tmp/sccache.tar.gz -C /tmp/ | ||
cp /tmp/sccache-*/sccache /usr/local/bin/ | ||
rm /tmp/sccache.tar.gz | ||
which gcc | ||
which g++ |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -31,15 +31,9 @@ jobs: | |
outputs: | ||
matrix: ${{ steps.get_tags.outputs.commits }} | ||
|
||
cibw_docker_image: | ||
uses: ./.github/workflows/cibw_docker_image.yml | ||
permissions: {packages: write} | ||
with: | ||
cibuildwheel_ver: "2.12.1" | ||
force_update: false | ||
|
||
benchmark_commits: | ||
needs: [get_commits_to_benchmark, cibw_docker_image] | ||
needs: [get_commits_to_benchmark] | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
|
@@ -49,7 +43,6 @@ jobs: | |
secrets: inherit | ||
with: | ||
commit: ${{ matrix.commits }} | ||
cibw_image_tag: ${{ needs.cibw_docker_image.outputs.tag }} | ||
run_all_benchmarks: ${{ inputs.run_all_benchmarks || false }} | ||
run_on_pr_head: ${{ github.event_name == 'pull_request_target' }} | ||
|
||
|
@@ -107,10 +100,9 @@ jobs: | |
python -m asv gh-pages -v --rewrite | ||
code_coverage: | ||
needs: [cibw_docker_image] | ||
runs-on: "ubuntu-22.04" | ||
container: | ||
image: ${{needs.cibw_docker_image.outputs.tag}} | ||
image: quay.io/pypa/manylinux_2_28_x86_64:latest | ||
services: | ||
mongodb: | ||
image: mongo:4.4 | ||
|
@@ -133,7 +125,11 @@ jobs: | |
uses: SimenB/[email protected] | ||
id: cpu-cores | ||
|
||
- name: Install deps | ||
uses: ./.github/actions/setup_deps | ||
|
||
- name: Extra envs | ||
shell: bash -l {0} | ||
run: | | ||
. build_tooling/vcpkg_caching.sh # Linux follower needs another call in CIBW | ||
echo -e "VCPKG_BINARY_SOURCES=$VCPKG_BINARY_SOURCES | ||
|
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
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -87,11 +87,11 @@ jobs: | |
maximum-size: 6GB | ||
disk-root: "D:" # This is also the checkout directory. Total size 12GB. | ||
continue-on-error: true | ||
|
||
- name: Enable Windows compiler commands | ||
if: matrix.os == 'windows' | ||
uses: ilammy/[email protected] | ||
|
||
- name: Install deps | ||
if: matrix.os == 'linux' && inputs.job_type != 'build-python-wheels' | ||
uses: ./.github/actions/setup_deps | ||
|
||
- name: Extra envs | ||
# This has to come after msvc-dev-cmd to overwrite the bad VCPKG_ROOT it sets | ||
run: | | ||
|
@@ -122,6 +122,23 @@ jobs: | |
if: inputs.job_type != 'build-python-wheels' | ||
run: . build_tooling/prep_cpp_build.sh # Also applies to Windows | ||
|
||
# When a GitHub Windows image gets update the MSVC compiler also can get updated. New compilers can have compilation errors in Arctic or in the VCPKG dependencies. | ||
# We needd to pin a particular MSVC so that runner updates don't affect us. | ||
# When the MSVC version is update custom-triplets/x64-windows-static-msvc.cmake must also be updated with the correct toolsed version. | ||
- name: Install Required MSVC | ||
if: matrix.os == 'windows' | ||
run: | | ||
choco install -y -f visualstudio2022buildtools --version=117.11.4 --params "--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --installChannelUri https://aka.ms/vs/17/release/390666095_1317821361/channel" | ||
choco install -y ninja | ||
- name: Enable Windows compiler commands | ||
if: matrix.os == 'windows' | ||
uses: TheMrMilchmann/setup-msvc-dev@v3 | ||
with: | ||
arch: x64 | ||
toolset: 14.41 | ||
vs-path: 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2022\\BuildTools' | ||
|
||
- name: CMake compile | ||
if: inputs.job_type != 'build-python-wheels' | ||
# We are pinning the version to 10.6 because >= 10.7, use node20 which is not supported in the container | ||
|
@@ -131,6 +148,9 @@ jobs: | |
configurePreset: ${{env.ARCTIC_CMAKE_PRESET}} | ||
configurePresetAdditionalArgs: "['-DVCPKG_INSTALL_OPTIONS=--clean-after-build']" | ||
buildPreset: ${{env.ARCTIC_CMAKE_PRESET}} | ||
env: | ||
CMAKE_BUILD_PARALLEL_LEVEL: ${{ (matrix.os == 'linux' && inputs.job_type != 'build-python-wheels') && 1 || vars.CMAKE_BUILD_PARALLEL_LEVEL}} | ||
CXX: /opt/rh/gcc-toolset-10/root/bin/g++ | ||
|
||
- name: Compile C++ tests | ||
if: inputs.job_type == 'cpp-tests' | ||
|
@@ -255,7 +275,7 @@ jobs: | |
${{fromJSON(inputs.matrix)}} | ||
name: ${{matrix.type}}${{matrix.python_deps_id}} | ||
runs-on: ${{matrix.distro}} | ||
container: ${{matrix.os == 'linux' && needs.compile.outputs.manylinux_image || null}} | ||
container: ${{matrix.os == 'linux' && matrix.container || null}} | ||
defaults: | ||
run: {shell: bash} | ||
services: ${{matrix.test_services}} | ||
|
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
set(VCPKG_TARGET_ARCHITECTURE x64) | ||
set(VCPKG_CRT_LINKAGE static) | ||
set(VCPKG_LIBRARY_LINKAGE static) | ||
set(VCPKG_PLATFORM_TOOLSET_VERSION 14.41) |
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
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