Skip to content

Commit

Permalink
Merge pull request #5623 from janekmi/merge-stable-1.13-to-master
Browse files Browse the repository at this point in the history
Merge stable 1.13 to master
  • Loading branch information
janekmi committed May 10, 2023
2 parents 8873de5 + fecde0c commit 37292d4
Show file tree
Hide file tree
Showing 25 changed files with 404 additions and 438 deletions.
15 changes: 6 additions & 9 deletions .github/workflows/bandit.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@

# Run the Bandit scanner for finding vulnerabilities in the python code.
name: bandit

on: [push, pull_request]

env:
GITHUB_REPO: pmem/pmdk
DOCKER_REPO: ghcr.io/pmem/pmdk
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker
GITHUB_REPO: pmem/pmdk
DOCKER_REPO: ghcr.io/pmem/pmdk
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker

jobs:
linux:
Expand All @@ -17,11 +17,8 @@ jobs:
matrix:
CONFIG: ["BANDIT=1 OS=ubuntu OS_VER=22.04"]
steps:
- name: Print out the current date and time
run: date

- name: Clone the git repo
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh
Expand Down
32 changes: 14 additions & 18 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
# Run the CodeQL scanner for finding vulnerabilities in the code (both C and Python).
#
# This workflow does not use docker containers.
name: CodeQL

on:
push:
pull_request:
schedule:
# run this job at 00:00 UTC every Saturday
- cron: '0 0 * * 6'
on: [push, pull_request]

env:
GITHUB_REPO: pmem/pmdk
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/gha-runners
PMDK_CC: gcc
PMDK_CXX: g++
GITHUB_REPO: pmem/pmdk
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/gha-runners
PMDK_CC: gcc
PMDK_CXX: g++

jobs:
analyze:
Expand All @@ -29,15 +27,13 @@ jobs:
language: [ 'cpp', 'python' ]

steps:
- name: Checkout repository
- name: Clone the git repo
uses: actions/checkout@v3

- name: Setup
- name: Install required packages
run: |
export VALGRIND_DEPS="autoconf \
automake \
build-essential \
git"
automake"
export BASE_DEPS="build-essential \
cmake \
Expand All @@ -48,10 +44,10 @@ jobs:
pkg-config"
sudo apt-get update \
&& sudo apt-get install -y --no-install-recommends \
&& sudo apt-get install -y --no-install-recommends \
${VALGRIND_DEPS} \
${BASE_DEPS} \
&& sudo ./utils/docker/images/install-valgrind.sh
&& sudo ./utils/docker/images/install-valgrind.sh
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
Expand Down
26 changes: 12 additions & 14 deletions .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,34 @@

# Run the public instance of Coverity static analysis
# for finding vulnerabilities in the code.
name: Coverity

on:
schedule:
# run this job at 00:00 UTC every day
- cron: '0 0 * * *'
# run this job at 00:00 UTC every other day
- cron: '0 0 */2 * *'

env:
GITHUB_REPO: pmem/pmdk
DOCKER_REPO: ghcr.io/pmem/pmdk
COVERITY_SCAN_NOTIFICATION_EMAIL: ${{ secrets.COVERITY_SCAN_NOTIFICATION_EMAIL }}
COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker
PMDK_CC: gcc
PMDK_CXX: g++
MAKE_PKG: 0
VALGRIND: 1
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker
PMDK_CC: gcc
PMDK_CXX: g++
VALGRIND: 1
COVERITY: 1

jobs:
linux:
name: Linux
runs-on: ubuntu-latest
strategy:
matrix:
CONFIG: ["COVERITY=1 OS=ubuntu OS_VER=22.04"]
CONFIG: ["OS=ubuntu OS_VER=22.04"]
steps:
- name: Print out the current date and time
run: date

- name: Clone the git repo
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh
Expand Down
35 changes: 22 additions & 13 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -1,30 +1,39 @@
# Run checks around PMDK's documentation (like missing manpages, etc.).
#
# This workflow does not use docker containers.
name: Documentation

on:
workflow_dispatch:
schedule:
# run this job at 00:00 UTC every Saturday
- cron: '0 0 * * 6'

jobs:
linux:
name: Documentation
if: github.repository == 'pmem/pmdk'
runs-on: ubuntu-latest
env:
WORKDIR: utils/gha-runners
SCRIPT: utils/check_docs/split_manpage_tests.py
TEST_SCRIPT: utils/check_docs/docs_tests.py

steps:
- name: clone PMDK repository
uses: actions/checkout@v2
- name: Clone the git repo
uses: actions/checkout@v3

- name: Install necessary packages
run: |
sudo apt-get install -y build-essential cmake libndctl-dev libdaxctl-dev pandoc pkg-config
- name: Install required packages
run: |
export BASE_DEPS="build-essential \
cmake \
libdaxctl-dev \
libndctl-dev \
pandoc \
pkg-config"
- name: Build
run: |
./$WORKDIR/build-pmdk-documentation.sh
sudo apt-get update \
&& sudo apt-get install -y --no-install-recommends ${BASE_DEPS}
- name: Run tests
run: python3 ${SCRIPT} --with-pmem2 -r $(pwd) -i $(pwd)/../install -v
- name: Build and install PMDK with docs
run: make doc install prefix=$(pwd)/../install -j$(nproc)

- name: Run docs' tests
run: python3 ${TEST_SCRIPT} -r $(pwd) -i $(pwd)/../install -v
38 changes: 20 additions & 18 deletions .github/workflows/gha.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@

# Run default OSes for each PR, push event or a new tag,
# checks basic builds with various compilers and executes all sets of tests.
name: PMDK

on: [push, pull_request]

env:
GITHUB_REPO: pmem/pmdk
DOCKER_REPO: ghcr.io/pmem/pmdk
GITHUB_REPO: pmem/pmdk
DOCKER_REPO: ghcr.io/pmem/pmdk

jobs:
linux:
Expand All @@ -15,13 +17,13 @@ jobs:
GH_CR_USER: ${{ secrets.GH_CR_USER }}
GH_CR_PAT: ${{ secrets.GH_CR_PAT }}
DOC_UPDATE_GITHUB_TOKEN: ${{ secrets.DOC_UPDATE_GITHUB_TOKEN }}
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker
PMDK_CC: gcc
PMDK_CXX: g++
MAKE_PKG: 0
VALGRIND: 1
SRC_CHECKERS: 0
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker
PMDK_CC: gcc
PMDK_CXX: g++
MAKE_PKG: 0
VALGRIND: 1
SRC_CHECKERS: 0
strategy:
matrix:
CONFIG: ["N=1 OS=ubuntu OS_VER=22.04 FAULT_INJECTION=1 TEST_BUILD=debug",
Expand All @@ -36,13 +38,13 @@ jobs:
"N=10 OS=ubuntu OS_VER=22.04 COVERAGE=1 FAULT_INJECTION=1 TEST_BUILD=debug"
]
steps:
- name: Clone the git repo
uses: actions/checkout@v2
with:
fetch-depth: 50
- name: Clone the git repo
uses: actions/checkout@v3
with:
fetch-depth: 50

- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh
- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh

- name: Run the build
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./build-CI.sh
- name: Run the build
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./build-CI.sh
50 changes: 26 additions & 24 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,28 @@

# Run less frequently used OSes and checks.
name: Nightly

# The Nightly workflow runs less frequently used OSes.
# It is run at 00:00 UTC every day or on demand.
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
# run this job at 00:00 UTC every other day
- cron: '0 0 */2 * *'
push:
tags:
- '*'

env:
GITHUB_REPO: pmem/pmdk
DOCKER_REPO: ghcr.io/pmem/pmdk
# use org's Private Access Token to log in to GitHub Container Registry
GH_CR_USER: ${{ secrets.GH_CR_USER }}
GH_CR_PAT: ${{ secrets.GH_CR_PAT }}
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker
PMDK_CC: gcc
PMDK_CXX: g++
MAKE_PKG: 0
VALGRIND: 1
SRC_CHECKERS: 0
GITHUB_REPO: pmem/pmdk
DOCKER_REPO: ghcr.io/pmem/pmdk
# use org's Private Access Token to log in to GitHub Container Registry
GH_CR_USER: ${{ secrets.GH_CR_USER }}
GH_CR_PAT: ${{ secrets.GH_CR_PAT }}
HOST_WORKDIR: /home/runner/work/pmdk/pmdk
WORKDIR: utils/docker
PMDK_CC: gcc
PMDK_CXX: g++
MAKE_PKG: 0
VALGRIND: 1
SRC_CHECKERS: 0

jobs:
linux:
Expand All @@ -40,13 +42,13 @@ jobs:
"OS=rockylinux OS_VER=9 MAKE_PKG=1 EXPERIMENTAL=y VALGRIND=0 PUSH_IMAGE=1"
]
steps:
- name: Clone the git repo
uses: actions/checkout@v2
with:
fetch-depth: 50
- name: Clone the git repo
uses: actions/checkout@v3
with:
fetch-depth: 50

- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh rebuild
- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh rebuild

- name: Run the build
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./build-CI.sh
- name: Run the build
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./build-CI.sh
21 changes: 10 additions & 11 deletions .github/workflows/pkg_linux.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# Run extra checks for making package.
name: PKG_linux

on: [push, pull_request]
Expand All @@ -20,21 +21,19 @@ jobs:
WORKDIR: utils/docker
PMDK_CC: gcc
PMDK_CXX: g++
MAKE_PKG: 0
VALGRIND: 1
SRC_CHECKERS: 0
CHECK_PKGS: 1

steps:
- name: Clone the git repo
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Clone the git repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh

- name: Pull or rebuild the image
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./pull-or-rebuild-image.sh

# This step will create docker containers, build pmdk packages and test it.
- name: Build the CI and test packages
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./build-CI.sh
# This step will create docker containers, build pmdk packages and test it.
- name: Build the CI and test packages
run: cd $WORKDIR && ${{ matrix.CONFIG }} ./build-CI.sh

0 comments on commit 37292d4

Please sign in to comment.