Skip to content

Commit f4913cb

Browse files
author
Al Rigazzi
authored
Merge pull request #494 from CrayLabs/develop
Release v0.5.3
2 parents 4878418 + 8613627 commit f4913cb

48 files changed

Lines changed: 1227 additions & 766 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/release.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#
2+
# BSD 2-Clause License
3+
#
4+
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
5+
# All rights reserved.
6+
#
7+
# Redistribution and use in source and binary forms, with or without
8+
# modification, are permitted provided that the following conditions are met:
9+
#
10+
# 1. Redistributions of source code must retain the above copyright notice, this
11+
# list of conditions and the following disclaimer.
12+
#
13+
# 2. Redistributions in binary form must reproduce the above copyright notice,
14+
# this list of conditions and the following disclaimer in the documentation
15+
# and/or other materials provided with the distribution.
16+
#
17+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
21+
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24+
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25+
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27+
#
28+
29+
changelog:
30+
exclude:
31+
labels:
32+
- ignore-for-release
33+
categories:
34+
- title: Features
35+
labels:
36+
- 'type: feature'
37+
exclude:
38+
labels:
39+
- non-user-facing
40+
- title: Bug Fixes
41+
labels:
42+
- 'bug: critical'
43+
- 'bug: major'
44+
- 'bug: minor'
45+
exclude:
46+
labels:
47+
- non-user-facing
48+
- title: API Breaks
49+
labels:
50+
- 'API break'
51+
exclude:
52+
labels:
53+
- non-user-facing
54+
- title: Miscellaneous Improvements
55+
labels:
56+
- "*"

.github/workflows/build_wheels.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,8 @@ jobs:
4646
strategy:
4747
fail-fast: false
4848
matrix:
49-
os: [ubuntu-20.04, macos-12]
50-
gcc_v: [8] # Version of GFortran we want to use.
49+
os: [ubuntu-22.04, macos-12]
50+
gcc_v: [11] # Version of GFortran we want to use.
5151
env:
5252
FC: gfortran-${{ matrix.gcc_v }}
5353
GCC_V: ${{ matrix.gcc_v }}

.github/workflows/changelog.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
#
2+
# BSD 2-Clause License
3+
#
4+
# Copyright (c) 2021-2024, Hewlett Packard Enterprise
5+
# All rights reserved.
6+
#
7+
# Redistribution and use in source and binary forms, with or without
8+
# modification, are permitted provided that the following conditions are met:
9+
#
10+
# 1. Redistributions of source code must retain the above copyright notice, this
11+
# list of conditions and the following disclaimer.
12+
#
13+
# 2. Redistributions in binary form must reproduce the above copyright notice,
14+
# this list of conditions and the following disclaimer in the documentation
15+
# and/or other materials provided with the distribution.
16+
#
17+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18+
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19+
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
21+
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22+
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
23+
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
24+
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
25+
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26+
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27+
#
28+
29+
name: enforce_changelog
30+
31+
on:
32+
pull_request:
33+
push:
34+
branches:
35+
- develop
36+
37+
jobs:
38+
changelog:
39+
name: check_changelog
40+
runs-on: ubuntu-latest
41+
42+
steps:
43+
- uses: actions/checkout@v4
44+
45+
- name: Changelog Enforcer
46+
uses: dangoslen/changelog-enforcer@v3.6.0
47+
with:
48+
changeLogPath: './doc/changelog.md'
49+
missingUpdateErrorMessage: 'changelog.md has not been updated'

.github/workflows/docker.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ jobs:
3737
strategy:
3838
fail-fast: true
3939
matrix:
40-
os: [ubuntu-20.04] # cannot test on macOS as docker isn't supported on Mac
41-
rai_v: [1.2.4, 1.2.5] # verisons of RedisAI
40+
os: [ubuntu-22.04] # cannot test on macOS as docker isn't supported on Mac
41+
rai_v: [1.2.5] # verisons of RedisAI
4242

4343
# Service containers to run with docker tests
4444
services:

.github/workflows/release.yml

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ jobs:
4848
strategy:
4949
fail-fast: false
5050
matrix:
51-
os: [ubuntu-20.04, macos-12]
52-
gcc_v: [8] # Version of GFortran we want to use.
51+
os: [ubuntu-22.04, macos-12]
52+
gcc_v: [11] # Version of GFortran we want to use.
5353
env:
5454
FC: gfortran-${{ matrix.gcc_v }}
5555
GCC_V: ${{ matrix.gcc_v }}
@@ -103,7 +103,7 @@ jobs:
103103
- uses: actions/setup-python@v2
104104
name: Install Python
105105
with:
106-
python-version: '3.8'
106+
python-version: '3.9'
107107

108108
- name: Build sdist
109109
run: |
@@ -130,3 +130,16 @@ jobs:
130130
password: ${{ secrets.PYPI }}
131131
#password: ${{ secrets.TEST_PYPI }}
132132
#repository_url: https://test.pypi.org/legacy/
133+
134+
135+
createPullRequest:
136+
runs-on: ubuntu-latest
137+
steps:
138+
- name: Checkout code
139+
uses: actions/checkout@v2
140+
141+
- name: Create pull request
142+
run: |
143+
gh pr create -B develop -H master --title 'Merge master into develop' --body 'This PR brings develop up to date with master for release.'
144+
env:
145+
GH_TOKEN: ${{ github.token }}

.github/workflows/run_tests.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ jobs:
6464
matrix:
6565
os: [ubuntu-22.04] # cannot test on macOS as docker isn't supported on Mac
6666
rai_v: [1.2.7] # versions of RedisAI
67-
py_v: ['3.8.x', '3.9.x', '3.10.x', '3.11.x'] # versions of Python
67+
py_v: ['3.9.x', '3.10.x', '3.11.x'] # versions of Python
6868
compiler: [nvhpc-23-11, intel-2024.0, gcc-11, gcc-12] # intel compiler, and versions of GNU compiler
6969
link_type: [Static, Shared]
7070
env:
@@ -121,8 +121,7 @@ jobs:
121121
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" \
122122
| sudo tee /etc/apt/sources.list.d/oneAPI.list &&
123123
sudo apt update -y && \
124-
sudo apt install -y intel-oneapi-compiler-fortran-${INTEL_V} intel-oneapi-compiler-dpcpp-cpp-${INTEL_V} &&
125-
sudo apt install -y intel-oneapi-mpi intel-oneapi-mpi-devel intel-oneapi-mkl &&
124+
sudo apt install -y intel-basekit-${INTEL_V} intel-hpckit-${INTEL_V} &&
126125
source /opt/intel/oneapi/setvars.sh &&
127126
printenv >> $GITHUB_ENV &&
128127
echo "CC=icx" >> $GITHUB_ENV &&

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ htmlcov
5050
.idea
5151
*.iml
5252
*.komodoproject
53+
.vscode
5354

5455
# Complexity
5556
output/*.html

CMakeLists.txt

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ endif (POLICY CMP0048)
3131

3232
# Project definition for the SmartRedis project
3333
cmake_minimum_required(VERSION 3.13)
34-
project(SmartRedis VERSION "0.5.2")
34+
project(SmartRedis VERSION "0.5.3")
3535

3636
# Configure options for the SmartRedis project
3737
option(SR_PYTHON "Build the python module" OFF)
@@ -53,11 +53,23 @@ endif()
5353
# For now, we only support Pedantic on the main library build.
5454
# If/when we fine-tune the examples and test cases, move this block
5555
# to smartredis_defs.cmake
56+
# Note: -Wextra can be added after unused parameters are addressed
5657
if (SR_PEDANTIC)
57-
if((CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_C_COMPILER_ID STREQUAL "GNU"))
58-
add_compile_options(-Wall -Werror)
58+
if(
59+
(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") OR
60+
(CMAKE_CXX_COMPILER_ID STREQUAL "NVHPC")
61+
)
62+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -pedantic -Wextra")
63+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wall -Werror -Wextra")
64+
elseif(
65+
(CMAKE_CXX_COMPILER_ID STREQUAL "Intel") OR
66+
(CMAKE_CXX_COMPILER_ID STREQUAL "IntelLLVM")
67+
)
68+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -pedantic")
69+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -warn all -warn error")
5970
else()
60-
message(WARNING "SR_PEDANTIC was specified, but the CMAKE compiler is not GCC")
71+
message(WARNING "SR_PEDANTIC not supported for ${CMAKE_CXX_COMPILER_ID}")
72+
message(WARNING ${CMAKE_CXX_COMPILER_ID})
6173
endif()
6274
if(CMAKE_Fortran_COMPILER_ID STREQUAL "GNU")
6375
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -Wno-maybe-uninitialized")

Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ RPP_VER := 1.3.10
3737
PYBIND_URL := https://github.com/pybind/pybind11.git
3838
PYBIND_VER := v2.11.1
3939
REDIS_URL := https://github.com/redis/redis.git
40-
REDIS_VER := 7.0.5
40+
REDIS_VER := 7.2.4
4141
REDISAI_URL := https://github.com/RedisAI/RedisAI.git
4242
# REDISAI_VER is controlled instead by SR_TEST_REDISAI_VER below
4343
CATCH2_URL := https://github.com/catchorg/Catch2.git
@@ -137,12 +137,12 @@ lib-with-fortran: lib
137137

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

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

148148
# help: test-deps - Make SmartRedis testing dependencies

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ SmartRedis provides clients in the following languages:
3434

3535
| Language | Version/Standard |
3636
|------------|:----------------------------------------------:|
37-
| Python | 3.8, 3.9, 3.10, 3.11 |
37+
| Python | 3.9, 3.10, 3.11 |
3838
| C++ | C++17 |
3939
| C | C99 |
4040
| Fortran | Fortran 2018 (GNU/Intel), 2003 (PGI/Nvidia) |

0 commit comments

Comments
 (0)