Commit 036ebc16 authored by dill Upstream's avatar dill Upstream Committed by Bolea Sanchez, Vicente Adolfo
Browse files

dill 2026-02-10 (0dbe651c)

Code extracted from:

    https://github.com/GTkorvo/dill.git

at commit 0dbe651c7e1a7e64948849b3d2d3138e680bd825 (master).

Upstream Shortlog
-----------------

Greg Eisenhauer (1):
      46abecd0 Add dependabot for GitHub Actions (#82)

dependabot[bot] (1):
      0dbe651c Bump the all-actions group with 2 updates (#83)
parent 7c672ebd
Loading
Loading
Loading
Loading
+0 −228
Original line number Diff line number Diff line
name: Build and Test

on:
  push:
    branches:
    - master
  pull_request:
    branches:
    - master
  schedule:
    - cron: '0 6 * * 1'  # Monday 6am UTC - weekly build to catch dependency issues 

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

jobs:
  # MemorySanitizer build to detect uninitialized memory reads
  msan:
    if: github.event_name != 'schedule' || github.repository == 'GTkorvo/dill'
    timeout-minutes: 30
    runs-on: ubuntu-24.04
    env:
      CC: clang
      CXX: clang++
      MSAN_FLAGS: "-fsanitize=memory -fsanitize-memory-track-origins -fno-omit-frame-pointer"

    steps:
    - uses: actions/checkout@v4

    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y clang llvm cmake ninja-build

    - name: Configure with MSan
      run: |
        cmake -G Ninja -S . -B build \
          -DCMAKE_C_FLAGS="${MSAN_FLAGS}" \
          -DCMAKE_CXX_FLAGS="${MSAN_FLAGS}" \
          -DCMAKE_EXE_LINKER_FLAGS="${MSAN_FLAGS}" \
          -DCMAKE_SHARED_LINKER_FLAGS="${MSAN_FLAGS}" \
          -DCMAKE_BUILD_TYPE=Debug \
          -DBUILD_TESTING=ON

    - name: Build
      run: ninja -C build

    - name: Test
      run: ctest --test-dir build --output-on-failure

  # AddressSanitizer build to detect memory errors (buffer overflow, use-after-free, etc.)
  asan:
    if: github.event_name != 'schedule' || github.repository == 'GTkorvo/dill'
    timeout-minutes: 30
    runs-on: ubuntu-24.04
    env:
      CC: clang
      CXX: clang++
      ASAN_FLAGS: "-fsanitize=address -fno-omit-frame-pointer"

    steps:
    - uses: actions/checkout@v4

    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y clang llvm cmake ninja-build

    - name: Configure with ASan
      run: |
        cmake -G Ninja -S . -B build \
          -DCMAKE_C_FLAGS="${ASAN_FLAGS}" \
          -DCMAKE_CXX_FLAGS="${ASAN_FLAGS}" \
          -DCMAKE_EXE_LINKER_FLAGS="${ASAN_FLAGS}" \
          -DCMAKE_SHARED_LINKER_FLAGS="${ASAN_FLAGS}" \
          -DCMAKE_BUILD_TYPE=Debug \
          -DBUILD_TESTING=ON

    - name: Build
      run: ninja -C build

    - name: Test
      run: ctest --test-dir build --output-on-failure

  # UndefinedBehaviorSanitizer build to detect undefined behavior
  ubsan:
    if: github.event_name != 'schedule' || github.repository == 'GTkorvo/dill'
    timeout-minutes: 30
    runs-on: ubuntu-24.04
    env:
      CC: clang
      CXX: clang++
      UBSAN_FLAGS: "-fsanitize=undefined -fno-omit-frame-pointer"

    steps:
    - uses: actions/checkout@v4

    - name: Install dependencies
      run: |
        sudo apt-get update
        sudo apt-get install -y clang llvm cmake ninja-build

    - name: Configure with UBSan
      run: |
        cmake -G Ninja -S . -B build \
          -DCMAKE_C_FLAGS="${UBSAN_FLAGS}" \
          -DCMAKE_CXX_FLAGS="${UBSAN_FLAGS}" \
          -DCMAKE_EXE_LINKER_FLAGS="${UBSAN_FLAGS}" \
          -DCMAKE_SHARED_LINKER_FLAGS="${UBSAN_FLAGS}" \
          -DCMAKE_BUILD_TYPE=Debug \
          -DBUILD_TESTING=ON

    - name: Build
      run: ninja -C build

    - name: Test
      run: ctest --test-dir build --output-on-failure

  linux:
    if: github.event_name != 'schedule' || github.repository == 'GTkorvo/dill'
    # The jobs should run pretty quick; anything over 30m essentially means
    # someting is stuck somewhere
    timeout-minutes: 30
    runs-on: ubuntu-latest
    container: ${{ matrix.container }}
    env:
      GH_YML_JOBNAME: ${{ matrix.os }}-${{ matrix.compiler }}
      GH_YML_BUILDTYPE: ${{ matrix.buildtype }}
      GH_YML_SHA: ${{ github.event.pull_request.head.sha || github.sha }}

    strategy:
      fail-fast: false
      matrix:
        buildtype: [ release, debug ]
        os: [ alma9, ubuntu2204, ubuntu2404 ]
        compiler: [ clang, gcc ]
        include:
        - os: alma9
          container: almalinux:9
        - os: ubuntu2404
          container: ubuntu:24.04
        - os: ubuntu2204
          container: ubuntu:22.04

    steps:
    - uses: actions/checkout@v4
      with:
        ref: ${{ github.event.pull_request.head.sha }}
        path: source
    - name: Setup
      run: source/scripts/ci/setup/linux.sh
    - name: Cache CMake build
      uses: actions/cache@v4
      with:
        path: build
        key: ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.buildtype }}-${{ hashFiles('source/CMakeLists.txt', 'source/**/*.cmake') }}
        restore-keys: |
          ${{ matrix.os }}-${{ matrix.compiler }}-${{ matrix.buildtype }}-
    - name: Update
      run: source/scripts/ci/gh-actions/run.sh update
    - name: Configure
      run: source/scripts/ci/gh-actions/run.sh configure
    - name: Build
      run: source/scripts/ci/gh-actions/run.sh build
    - name: Test
      run: source/scripts/ci/gh-actions/run.sh test

  mac_and_windows:
    if: github.event_name != 'schedule' || github.repository == 'GTkorvo/dill'
    # The jobs should run pretty quick; anything over 30m essentially means
    # someting is stuck somewhere
    timeout-minutes: 30
    runs-on: ${{ matrix.vm }}
    env:
      GH_YML_JOBNAME: ${{ matrix.jobname }}
      GH_YML_BUILDTYPE: ${{ matrix.buildtype }}
      GH_YML_SHA: ${{ github.event.pull_request.head.sha || github.sha }}

    strategy:
      fail-fast: false
      matrix:
        buildtype: [ release, debug ]
        jobname: [
          windows2022-vs2022-clang,
          windows2025-vs2022-msvc,
          windows2022-vs2022-msvc-win32,
          macos-clang ]
        include:
        - jobname: windows2022-vs2022-clang
          vm: windows-2022
        - jobname: windows2025-vs2022-msvc
          vm: windows-2025
        - jobname: windows2022-vs2022-msvc-win32
          vm: windows-2022
        - jobname: macos-clang
          vm: macos-latest

    defaults:
      run:
        shell: bash

    steps:
    - uses: actions/checkout@v4
      with:
        ref: ${{ github.event.pull_request.head.sha }}
        path: source
    - name: Setup Windows
      if: ${{ runner.os == 'Windows' }}
      run: source/scripts/ci/setup/windows.sh
    - name: Setup macOS
      if: ${{ runner.os == 'macOS' }}
      run: source/scripts/ci/setup/macos.sh
    - name: Cache CMake build
      uses: actions/cache@v4
      with:
        path: build
        key: ${{ matrix.jobname }}-${{ matrix.buildtype }}-${{ hashFiles('source/CMakeLists.txt', 'source/**/*.cmake') }}
        restore-keys: |
          ${{ matrix.jobname }}-${{ matrix.buildtype }}-
    - name: Update
      run: source/scripts/ci/gh-actions/run.sh update
    - name: Configure
      run: source/scripts/ci/gh-actions/run.sh configure
    - name: Build
      run: source/scripts/ci/gh-actions/run.sh build
    - name: Test
      run: source/scripts/ci/gh-actions/run.sh test

.github/workflows/triggers.yml

deleted100644 → 0
+0 −15
Original line number Diff line number Diff line
name: Triggers

on:
  workflow_run:
    workflows: ["Build and Test"]
    types: [requested]

jobs:
  all_triggers:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v2
    - name: Post CDash Status
      run: scripts/ci/scripts/post-cdash-status.sh ${{ github.event.repository.full_name }} ${{ github.event.workflow_run.head_sha }} ${{ secrets.GITHUB_TOKEN }}
+0 −7
Original line number Diff line number Diff line
# Client maintainer: eisen@cc.gatech.edu

set(ENV{CC}  clang)
set(ENV{CXX} clang++)

list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/unix-common.cmake)

scripts/ci/cmake/alma8-gcc.cmake

deleted100644 → 0
+0 −7
Original line number Diff line number Diff line
# Client maintainer: eisen@cc.gatech.edu

set(ENV{CC}  gcc)
set(ENV{CXX} g++)

list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/unix-common.cmake)
+0 −7
Original line number Diff line number Diff line
# Client maintainer: eisen@cc.gatech.edu

set(ENV{CC}  icc)
set(ENV{CXX} icpc)

list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
include(${CMAKE_CURRENT_LIST_DIR}/unix-common.cmake)
Loading