Skip to content

Commit

Permalink
Merge pull request #494 from CrayLabs/develop
Browse files Browse the repository at this point in the history
Release v0.5.3
  • Loading branch information
al-rigazzi authored May 14, 2024
2 parents 4878418 + 8613627 commit f4913cb
Show file tree
Hide file tree
Showing 48 changed files with 1,227 additions and 766 deletions.
56 changes: 56 additions & 0 deletions .github/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#
# BSD 2-Clause License
#
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

changelog:
exclude:
labels:
- ignore-for-release
categories:
- title: Features
labels:
- 'type: feature'
exclude:
labels:
- non-user-facing
- title: Bug Fixes
labels:
- 'bug: critical'
- 'bug: major'
- 'bug: minor'
exclude:
labels:
- non-user-facing
- title: API Breaks
labels:
- 'API break'
exclude:
labels:
- non-user-facing
- title: Miscellaneous Improvements
labels:
- "*"
4 changes: 2 additions & 2 deletions .github/workflows/build_wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-12]
gcc_v: [8] # Version of GFortran we want to use.
os: [ubuntu-22.04, macos-12]
gcc_v: [11] # Version of GFortran we want to use.
env:
FC: gfortran-${{ matrix.gcc_v }}
GCC_V: ${{ matrix.gcc_v }}
Expand Down
49 changes: 49 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#
# BSD 2-Clause License
#
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#

name: enforce_changelog

on:
pull_request:
push:
branches:
- develop

jobs:
changelog:
name: check_changelog
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Changelog Enforcer
uses: dangoslen/[email protected]
with:
changeLogPath: './doc/changelog.md'
missingUpdateErrorMessage: 'changelog.md has not been updated'
4 changes: 2 additions & 2 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ jobs:
strategy:
fail-fast: true
matrix:
os: [ubuntu-20.04] # cannot test on macOS as docker isn't supported on Mac
rai_v: [1.2.4, 1.2.5] # verisons of RedisAI
os: [ubuntu-22.04] # cannot test on macOS as docker isn't supported on Mac
rai_v: [1.2.5] # verisons of RedisAI

# Service containers to run with docker tests
services:
Expand Down
19 changes: 16 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-20.04, macos-12]
gcc_v: [8] # Version of GFortran we want to use.
os: [ubuntu-22.04, macos-12]
gcc_v: [11] # Version of GFortran we want to use.
env:
FC: gfortran-${{ matrix.gcc_v }}
GCC_V: ${{ matrix.gcc_v }}
Expand Down Expand Up @@ -103,7 +103,7 @@ jobs:
- uses: actions/setup-python@v2
name: Install Python
with:
python-version: '3.8'
python-version: '3.9'

- name: Build sdist
run: |
Expand All @@ -130,3 +130,16 @@ jobs:
password: ${{ secrets.PYPI }}
#password: ${{ secrets.TEST_PYPI }}
#repository_url: https://test.pypi.org/legacy/


createPullRequest:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Create pull request
run: |
gh pr create -B develop -H master --title 'Merge master into develop' --body 'This PR brings develop up to date with master for release.'
env:
GH_TOKEN: ${{ github.token }}
5 changes: 2 additions & 3 deletions .github/workflows/run_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ jobs:
matrix:
os: [ubuntu-22.04] # cannot test on macOS as docker isn't supported on Mac
rai_v: [1.2.7] # versions of RedisAI
py_v: ['3.8.x', '3.9.x', '3.10.x', '3.11.x'] # versions of Python
py_v: ['3.9.x', '3.10.x', '3.11.x'] # versions of Python
compiler: [nvhpc-23-11, intel-2024.0, gcc-11, gcc-12] # intel compiler, and versions of GNU compiler
link_type: [Static, Shared]
env:
Expand Down Expand Up @@ -121,8 +121,7 @@ jobs:
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \
| sudo tee /etc/apt/sources.list.d/oneAPI.list &&
sudo apt update -y && \
sudo apt install -y intel-oneapi-compiler-fortran-${INTEL_V} intel-oneapi-compiler-dpcpp-cpp-${INTEL_V} &&
sudo apt install -y intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-mkl &&
sudo apt install -y intel-basekit-${INTEL_V} intel-hpckit-${INTEL_V} &&
source /opt/intel/oneapi/setvars.sh &&
printenv >> $GITHUB_ENV &&
echo "CC=icx" >> $GITHUB_ENV &&
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ htmlcov
.idea
*.iml
*.komodoproject
.vscode

# Complexity
output/*.html
Expand Down
20 changes: 16 additions & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ endif (POLICY CMP0048)

# Project definition for the SmartRedis project
cmake_minimum_required(VERSION 3.13)
project(SmartRedis VERSION "0.5.2")
project(SmartRedis VERSION "0.5.3")

# Configure options for the SmartRedis project
option(SR_PYTHON "Build the python module" OFF)
Expand All @@ -53,11 +53,23 @@ endif()
# For now, we only support Pedantic on the main library build.
# If/when we fine-tune the examples and test cases, move this block
# to smartredis_defs.cmake
# Note: -Wextra can be added after unused parameters are addressed
if (SR_PEDANTIC)
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_ID STREQUAL "GNU"))
add_compile_options(-Wall -Werror)
if(
(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
(CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC")
)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -pedantic -Wextra")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wall -Werror -Wextra")
elseif(
(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR
(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -pedantic")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -warn all -warn error")
else()
message(WARNING "SR_PEDANTIC was specified, but the CMAKE compiler is not GCC")
message(WARNING "SR_PEDANTIC not supported for ${CMAKE_CXX_COMPILER_ID}")
message(WARNING ${CMAKE_CXX_COMPILER_ID})
endif()
if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wno-maybe-uninitialized")
Expand Down
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ RPP_VER := 1.3.10
PYBIND_URL := https://github.com/pybind/pybind11.git
PYBIND_VER := v2.11.1
REDIS_URL := https://github.com/redis/redis.git
REDIS_VER := 7.0.5
REDIS_VER := 7.2.4
REDISAI_URL := https://github.com/RedisAI/RedisAI.git
# REDISAI_VER is controlled instead by SR_TEST_REDISAI_VER below
CATCH2_URL := https://github.com/catchorg/Catch2.git
Expand Down Expand Up @@ -137,12 +137,12 @@ lib-with-fortran: lib

# help: test-lib - Build SmartRedis clients into a dynamic library with least permissive compiler settings
.PHONY: test-lib
test-lib: SR_PEDANTIC=OFF #TODO: fix warnings in C++
test-lib: SR_PEDANTIC=ON
test-lib: lib

# help: test-lib-with-fortran - Build SmartRedis clients into a dynamic library with least permissive compiler settings
.PHONY: test-lib-with-fortran
test-lib-with-fortran: SR_PEDANTIC=OFF #TODO: fix warnings in C++
test-lib-with-fortran: SR_PEDANTIC=ON
test-lib-with-fortran: lib-with-fortran

# help: test-deps - Make SmartRedis testing dependencies
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ SmartRedis provides clients in the following languages:

| Language | Version/Standard |
|------------|:----------------------------------------------:|
| Python | 3.8, 3.9, 3.10, 3.11 |
| Python | 3.9, 3.10, 3.11 |
| C++ | C++17 |
| C | C99 |
| Fortran | Fortran 2018 (GNU/Intel), 2003 (PGI/Nvidia) |
Expand Down
Loading

0 comments on commit f4913cb

Please sign in to comment.