Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename to copperr #16

Draft
wants to merge 10 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
131 changes: 93 additions & 38 deletions .github/workflows/ci-test.yml
Original file line number Diff line number Diff line change
@@ -1,44 +1,99 @@
name: CI Test
name: CI

on: [push, pull_request]
on: [pull_request]

jobs:
bst1-82-0:
runs-on: ubuntu-latest
env:
METALL_LIMIT_MAKE_PARALLELS: 8
build:
strategy:
fail-fast: false
matrix:
config:
- name: linux-x64-clang-15
os: ubuntu-22.04
cxx: clang++-15
- name: linux-x64-clang-16
os: ubuntu-20.04
cxx: clang++-16

#- name: linux-x64-clang-16-sanitize-address-undefined
# os: ubuntu-20.04
# cxx: clang++-16
# cxx-flags: "-fsanitize=address,undefined"
#- name: linux-x64-clang-16-sanitize-thread
# os: ubuntu-20.04
# cxx: clang++-16
# cxx-flags: "-fsanitize=thread"

- name: linux-x64-gcc-13
os: ubuntu-22.04
cxx: g++-13
cxx-flags: -Werror

name: ${{matrix.config.name}}
runs-on: ${{matrix.config.os}}
steps:
- uses: actions/checkout@v3
- name: Test
# setup env
- name: Add repos for for gcc-13 and clang-16
run: |
pushd /dev/shm
wget -q https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.gz
mkdir boost
tar xf boost_1_82_0.tar.gz -C boost --strip-components 1
export BOOST_ROOT=${PWD}/boost
popd
export METALL_TEST_DIR=${GITHUB_JOB}
export CC=gcc-12
export CXX=g++-12
cd $GITHUB_WORKSPACE
bash ./scripts/CI/build_and_test.sh

bst1-64-0:
runs-on: ubuntu-latest
env:
METALL_LIMIT_MAKE_PARALLELS: 8
steps:
- uses: actions/checkout@v3
- name: Test
# gcc-13
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y

# clang-16
source /etc/os-release
echo "deb http://apt.llvm.org/${UBUNTU_CODENAME}/ llvm-toolchain-${UBUNTU_CODENAME}-16 main" | sudo tee /etc/apt/sources.list.d/llvm-16.list
curl https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/llvm-16.gpg > /dev/null

- name: Ensure stdlib version
run: |
pushd /dev/shm
wget -q https://boostorg.jfrog.io/artifactory/main/release/1.64.0/source/boost_1_64_0.tar.gz
mkdir boost
tar xf boost_1_64_0.tar.gz -C boost --strip-components 1
export BOOST_ROOT=${PWD}/boost
popd
export METALL_TEST_DIR=${GITHUB_JOB}
export CC=gcc-12
export CXX=g++-12
cd $GITHUB_WORKSPACE
bash ./scripts/CI/build_and_test.sh
sudo apt-get install -y libstdc++-13-dev

- name: Install tools
run: |
sudo apt-get install -y python3 python3-pip

- name: Get minimum cmake version
uses: lukka/[email protected]
with:
cmakeVersion: 3.22.6

- name: Install compiler
id: install_cc
uses: rlalik/[email protected]
with:
compiler: ${{ matrix.config.cxx }}

- name: Install mold
uses: rui314/setup-mold@v1

- name: Configure conan
run: |
pip3 install "conan==1.60.1"
conan profile new --detect default
conan profile update settings.compiler.libcxx=libstdc++11 default

- name: Cache conan data
id: cache-conan
uses: actions/cache@v3
with:
path: ~/.conan/data
key: ${{ matrix.config.os }}-${{ matrix.config.cxx }}-conan

- name: Check out sources
uses: actions/checkout@v3

- name: Configure CMake
env:
CC: ${{ steps.install_cc.outputs.cc }}
CXX: ${{ steps.install_cc.outputs.cxx }}
CXXFLAGS: ${{ matrix.config.cxx-flags }}
run: >
cmake -B build_dir -DCMAKE_BUILD_TYPE=Debug -DBUILD_FFI=ON -DBUILD_TESTING=ON
-DBUILD_VERIFICATION=ON -DBUILD_EXAMPLES=ON -DRUN_LARGE_SCALE_TESTS=ON -DBUILD_UTILITY=ON

- name: Build
working-directory: build_dir
run: cmake --build . --parallel 2

- name: Run tests
working-directory: build_dir
run: ctest --parallel 2 --verbose
21 changes: 21 additions & 0 deletions .github/workflows/publish-conan-branch-package.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Publish Conan branch package

on: [ push ]

concurrency:
group: publish-conan-branch-package-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
publish-conan-branch-package:
uses: dice-group/cpp-conan-release-reusable-workflow/.github/workflows/publish-conan-branch-package.yml@main
with:
public_artifactory: true
os: ubuntu-22.04
compiler: clang-15
cmake-version: 3.22.6
conan-version: 2.0.13
conan-options: -o boost/*:header_only=True
secrets:
CONAN_USER: ${{ secrets.CONAN_USER }}
CONAN_PW: ${{ secrets.CONAN_PW }}
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ cmake-build-*/
.idea
*~
~*
.vscode/
.vscode/
test_package/build/
test_package/CMakeUserPresets.json
162 changes: 0 additions & 162 deletions .gitlab-ci.yml

This file was deleted.

2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ authors:
identifiers:
- type: url
value: 'https://doi.org/10.11578/dc.20190410.1'
repository-code: 'https://github.com/LLNL/metall'
repository-code: 'https://github.com/LLNL/copperr'
abstract: >-
Metall is a persistent memory allocator built on
top of the memory-mapped file mechanism.
Expand Down
Loading