Skip to content

Commit

Permalink
Release 1.0.1
Browse files Browse the repository at this point in the history
  • Loading branch information
lindstro committed Dec 16, 2023
2 parents f39af72 + cd174e0 commit f40868a
Show file tree
Hide file tree
Showing 461 changed files with 40,167 additions and 272 deletions.
7 changes: 7 additions & 0 deletions .github/dependabot.yml
@@ -0,0 +1,7 @@
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
49 changes: 49 additions & 0 deletions .github/workflows/coverage.yml
@@ -0,0 +1,49 @@
name: Coverage Report

on:
workflow_run:
workflows: [Tests]
types: [completed]

jobs:
coverage:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
architecture: x64

- name: Install Dependencies
run: |-
sudo apt install lcov
python -m pip install lcov_cobertura
- name: Run CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_FLAGS="-fprofile-arcs -ftest-coverage" -DCMAKE_C_FLAGS="-fprofile-arcs -ftest-coverage" -DBUILD_TESTING_FULL=ON -DBUILD_CFP=ON -DZFP_WITH_OPENMP=ON

- name: Build
run: cmake --build ${{github.workspace}}/build

- name: Run Tests
working-directory: ${{github.workspace}}/build
run: ctest -j 8

- name: Generate Coverage Report
working-directory: ${{github.workspace}}/build
run: |-
lcov -c --directory ${{github.workspace}}/build --output-file coverage.info
lcov --remove coverage.info '${{github.workspace}}/build/tests/*' --remove coverage.info '${{github.workspace}}/tests/*' --remove coverage.info '/usr/include/*' -o coverage.info
lcov_cobertura ${{github.workspace}}/build/coverage.info -d -o ${{github.workspace}}/build/coverage.xml
- name: Upload Report to Codecov
uses: codecov/codecov-action@v3
with:
files: ${{github.workspace}}/build/coverage.xml
env_vars: Actions
fail_ci_if_error: true
29 changes: 29 additions & 0 deletions .github/workflows/debug-linux.yml
@@ -0,0 +1,29 @@
name: Debug (Linux)

on: [workflow_dispatch]

jobs:
debug:
runs-on: ubuntu-latest
steps:
- name: Checkout Zfp
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
architecture: x64

- name: Install Zfpy Dependencies
run: |
python -m pip install cython
python -m pip install oldest-supported-numpy
python -m pip install setuptools
- name: Install OpenMP
run: |
sudo apt-get update; sudo apt-get install -y libomp5 libomp-dev
- name: Setup Tmate Session
uses: mxschmitt/action-tmate@v3
29 changes: 29 additions & 0 deletions .github/workflows/debug-macos.yml
@@ -0,0 +1,29 @@
name: Debug (MacOS)

on: [workflow_dispatch]

jobs:
debug:
runs-on: macos-latest
steps:
- name: Checkout Zfp
uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
architecture: x64

- name: Install Zfpy Dependencies
run: |
python -m pip install cython
python -m pip install oldest-supported-numpy
python -m pip install setuptools
- name: Install OpenMP
run: |
brew install libomp
- name: Setup Tmate Session
uses: mxschmitt/action-tmate@v3
107 changes: 0 additions & 107 deletions .github/workflows/main.yml

This file was deleted.

78 changes: 78 additions & 0 deletions .github/workflows/tests.yml
@@ -0,0 +1,78 @@
name: Tests

on: push

env:
BUILD_TYPE: Release

jobs:
build:
runs-on: ${{matrix.os}}
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
cxx_compiler: g++-10
c_compiler: gcc-10
omp: ON
target: all

- os: ubuntu-latest
cxx_compiler: clang++
c_compiler: clang
omp: ON
target: all

- os: macos-latest
cxx_compiler: g++-11
c_compiler: gcc-11
omp: ON
target: all

- os: macos-latest
cxx_compiler: clang++
c_compiler: clang
omp: OFF
target: all

steps:
- uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.x'
architecture: x64

- name: Install zfpy dependencies
run: |
python -m pip install cython
python -m pip install oldest-supported-numpy
python -m pip install setuptools
- name: Setup OpenMP (Linux)
if: ${{matrix.os == 'ubuntu-latest' && matrix.cxx_compiler == 'clang++'}}
run: sudo apt-get update; sudo apt-get install -y libomp5 libomp-dev

- name: Setup OpenMP (MacOS)
if: ${{matrix.os == 'macos-latest'}}
run: |
brew install libomp
echo "CC=$(brew --prefix llvm)/bin/clang" >> $GITHUB_ENV
echo "CXX=$(brew --prefix llvm)/bin/clang++" >> $GITHUB_ENV
echo "LDFLAGS=\"-L$(brew --prefix llvm)/lib\"" >> $GITHUB_ENV
echo "CPPFLAGS=\"-I$(brew --prefix llvm)/include\"" >> $GITHUB_ENV
- name: Run CMake
id: cmake
run: cmake -B ${{github.workspace}}/build ${{matrix.generator}} -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_CXX_COMPILER=${{matrix.cxx_compiler}} -DCMAKE_C_COMPILER=${{matrix.c_compiler}} -DBUILD_TESTING_FULL=ON -DZFP_WITH_OPENMP=${{matrix.omp}} -DBUILD_ZFPY=ON -DPYTHON_INCLUDE_DIR=$(python -c "from distutils.sysconfig import get_python_inc; print(get_python_inc())") -DPYTHON_LIBRARY=$(python -c "import distutils.sysconfig as sysconfig; print(sysconfig.get_config_var('LIBDIR'))")

- name: Build
id: build
run: cmake --build ${{github.workspace}}/build --target ${{matrix.target}} --config ${{env.BUILD_TYPE}}

- name: Run Tests
id: test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}} -VV
35 changes: 35 additions & 0 deletions .readthedocs.yaml
@@ -0,0 +1,35 @@
# Read the Docs configuration file for Sphinx projects
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
# You can also specify other tool versions:
# nodejs: "20"
# rust: "1.70"
# golang: "1.20"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/source/conf.py
# You can configure Sphinx to use a different builder, for instance use the dirhtml builder for simpler URLs
# builder: "dirhtml"
# Fail on all warnings to avoid broken references
# fail_on_warning: true

# Optionally build your docs in additional formats such as PDF and ePub
formats:
- pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: docs/requirements.txt
23 changes: 23 additions & 0 deletions CHANGELOG.md
Expand Up @@ -3,6 +3,29 @@ Change Log

---

## 1.0.1 (2023-12-15)

This patch release primarily addresses minor bug fixes and is needed to update
the zfpy Python wheels.

### Added

- A new build macro, `BUILD_TESTING_FULL`, specifies that all unit tests be
built; `BUILD_TESTING` produces a smaller subset of tests. Full tests and
documentation are now included in releases.

### Fixed

- #169: `libm` dependency is not always correctly detected.
- #171: `ptrdiff_t` is not always imported in Cython.
- #176: cfp API is not exposed via CMake configuration file.
- #177: Full test suite is not included in release.
- #181: `rpath` is not set correctly in executables.
- #204: Array strides are not passed by value in zFORp.
- #220: Errors reported with scikit-build when building zfpy.

---

## 1.0.0 (2022-08-01)

This release is not ABI compatible with prior releases due to numerous changes
Expand Down

0 comments on commit f40868a

Please sign in to comment.