Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
bd52675
dev container + vscode extensions
prince-chrismc Dec 27, 2023
ebc6ed5
exploring cmake presets for CI
prince-chrismc Dec 31, 2023
2c0c8f6
ignore user presets
prince-chrismc Dec 31, 2023
0e9ec1f
add configure to build preset
prince-chrismc Dec 31, 2023
5cb12cf
coverage preset
prince-chrismc Dec 31, 2023
4906953
creating a fuzzing preset
prince-chrismc Dec 31, 2023
5a0f434
fuzzing fix cwd + more configs to preset
prince-chrismc Dec 31, 2023
d2b0110
move cmake set vars to right section
prince-chrismc Dec 31, 2023
feaad45
fix workdir for new fuzz run targets
prince-chrismc Dec 31, 2023
cc84b4d
split up presets into more files
prince-chrismc Dec 31, 2023
03e7c9f
fix include order (liking this less)
prince-chrismc Dec 31, 2023
c902f89
add asan to presets
prince-chrismc Dec 31, 2023
5e5557a
fix copy paste
prince-chrismc Dec 31, 2023
2e60684
add asan build preset
prince-chrismc Dec 31, 2023
95d0f99
move ubsan to presets
prince-chrismc Dec 31, 2023
8f5f003
replace mustache with a cmake script
prince-chrismc Dec 31, 2023
ca51157
touch ups
prince-chrismc Jan 1, 2024
e80e654
restore file to void merge conflicts
prince-chrismc Jan 1, 2024
3f8e5b3
fix order for args
prince-chrismc Jan 1, 2024
49fd744
remove action wrapper
prince-chrismc Jan 1, 2024
8368147
revert bad render of boost_json
prince-chrismc Jan 1, 2024
bc0de82
fix casing
prince-chrismc Jan 1, 2024
622a254
format changes
prince-chrismc Jan 1, 2024
c6d5569
test to see if output is working
prince-chrismc Jan 1, 2024
03d4a9d
last try
prince-chrismc Jan 1, 2024
f5f5d4d
git revert moving mustache to cmake
prince-chrismc Jan 1, 2024
9f95f73
cmake not enough for presets
prince-chrismc Jan 2, 2024
ba8e485
drop ci prefix
prince-chrismc Jan 2, 2024
9d5943a
new test for `library_ROOT` search path
prince-chrismc Jan 2, 2024
ab5397b
install with presets
prince-chrismc Jan 2, 2024
61c642c
cmake --install does not take a preset
prince-chrismc Jan 2, 2024
f3f7c59
install with preset is not yet supported
prince-chrismc Jan 2, 2024
7464334
add missing build step
prince-chrismc Jan 2, 2024
3b15555
more global fuzzing flags to toolchain file
prince-chrismc Jan 9, 2024
36e3904
fixup toolchain in presets
prince-chrismc Jan 10, 2024
735ec33
fix pathing and limit configs to tested platforms
prince-chrismc Jan 10, 2024
011f538
clean up + use presets for clang-tidy
prince-chrismc Jan 10, 2024
06892aa
dry up sanitizer flags
prince-chrismc Jan 10, 2024
30b1086
try install with a preset
prince-chrismc Jan 10, 2024
17e1202
remove duplicated test
prince-chrismc Jan 10, 2024
79198e5
notes about hunter test
prince-chrismc Jan 10, 2024
a1f5bd1
skip checking the compiler since this causes errors with the same CMa…
prince-chrismc Jan 10, 2024
5042c7d
remove system name to disable cross compiling
prince-chrismc Jan 10, 2024
12211c4
tests do not pass clang-tidy
prince-chrismc Jan 10, 2024
75be637
drop toolchain, use target specific flags
prince-chrismc Jan 10, 2024
096b682
leave flags in cmake
prince-chrismc Jan 10, 2024
0d6fc43
missing deps + clean apt files
prince-chrismc Jan 10, 2024
488a133
remove some code duplication
prince-chrismc Jan 10, 2024
f2f728c
fix typo
prince-chrismc Jan 11, 2024
d374c3a
devcontainers fix, test and add wolfssl
prince-chrismc Jan 11, 2024
7cbea51
add missing build context
prince-chrismc Jan 11, 2024
1e3ccc7
pass version to script
prince-chrismc Jan 11, 2024
d0e8929
dont use bash syntax
prince-chrismc Jan 11, 2024
d9f4643
fix typo
prince-chrismc Jan 12, 2024
73e197d
upload tar.gz for new releases
prince-chrismc Dec 29, 2023
37d0b89
revert name to manually trigger it
prince-chrismc Jan 3, 2024
6f86e37
Update and rename nuget.yml to release.yml
prince-chrismc Jan 3, 2024
87ff65c
disable nuget for testing
prince-chrismc Jan 11, 2024
94adcd9
add a zip as well
prince-chrismc Jan 11, 2024
f155b50
back to basics
prince-chrismc Jan 16, 2024
7ba8ce4
remove remove testing code
prince-chrismc Jan 17, 2024
ceaa359
update workflow name
prince-chrismc Apr 20, 2024
74353ad
Merge branch 'master' into dev-ux
prince-chrismc Apr 24, 2024
b9eb7bf
enable testing needs to be in the root
prince-chrismc Apr 24, 2024
43cfb96
add a test preset and use it in some workflows
prince-chrismc Apr 24, 2024
bcac723
fix linting tests
prince-chrismc Apr 24, 2024
7f99bff
bump github actions
prince-chrismc Apr 24, 2024
a14c6e3
bump python setup
prince-chrismc Apr 24, 2024
4efa338
Merge branch 'master' into dev-ux
prince-chrismc Jun 19, 2024
b77303d
Update release.yml
prince-chrismc Jun 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM ubuntu:22.04

RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update && apt-get -y install \
clang-format \
clang-tidy \
cmake \
doxygen \
graphviz \
git \
g++ \
libssl-dev \
libgtest-dev \
&& rm -rf /var/lib/apt/lists/*

ENV CMAKE_C_FLAGS="-DOPENSSL_NO_DEPRECATED=1"
ENV CMAKE_CXX_FLAGS="-DOPENSSL_NO_DEPRECATED=1"
ENV CMAKE_C_CLANG_TIDY="clang-tidy;-fix"
ENV CMAKE_CXX_CLANG_TIDY="clang-tidy;-fix"
13 changes: 13 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "Ubuntu 22.04 with OpenSSL 3.0",
"build": {
"dockerfile": "Dockerfile"
},
"customizations": {
"vscode": {
"extensions": [
"streetsidesoftware.code-spell-checker"
]
}
}
}
25 changes: 25 additions & 0 deletions .devcontainer/wolfssl/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
FROM ubuntu:22.04

RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get update && apt-get -y install \
autoconf \
build-essential \
clang-format \
clang-tidy \
cmake \
doxygen \
graphviz \
git \
g++ \
libgtest-dev \
libtool \
wget \
&& rm -rf /var/lib/apt/lists/*

# https://www.warp.dev/terminus/dockerfile-run-sh
COPY ./.github/actions/install/wolfssl/install.sh /wolfssl/install.sh
RUN /wolfssl/install.sh

ENV JWT_SSL_LIBRARY="wolfSSL"
ENV CMAKE_C_CLANG_TIDY="clang-tidy;-fix"
ENV CMAKE_CXX_CLANG_TIDY="clang-tidy;-fix"
Empty file.
12 changes: 2 additions & 10 deletions .github/actions/install/wolfssl/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,6 @@ runs:
using: composite
steps:
- run: |
cd /tmp
wget -O wolfssl.tar.gz https://github.com/wolfSSL/wolfssl/archive/${{ inputs.version }}.tar.gz
tar -zxf /tmp/wolfssl.tar.gz
cd wolfssl-*
autoreconf -fiv
./configure --enable-opensslall --enable-opensslextra --disable-examples --disable-crypttests --enable-harden --enable-all --enable-all-crypto
make
sudo make install
shell: bash
- run: sudo rm -rf /usr/include/openssl
./.github/actions/install/wolfssl/install.sh ${{ inputs.version }}
sudo rm -rf /usr/include/openssl
shell: bash
25 changes: 25 additions & 0 deletions .github/actions/install/wolfssl/install.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#! /bin/sh
set -e # Exit on error
DEFAULT_VERSION="v5.3.0-stable"
VERSION="${1:-$DEFAULT_VERSION}"

cd /tmp
wget -O wolfssl.tar.gz https://github.com/wolfSSL/wolfssl/archive/$VERSION.tar.gz
tar -zxf wolfssl.tar.gz
cd wolfssl-*
autoreconf -fiv
./configure --prefix=/usr/local --enable-opensslall --enable-opensslextra --disable-examples --disable-crypttests --enable-harden --enable-all --enable-all-crypto
make

# Depending if we run in on a GitHub Actions or from within a Docker image we have different permissions
if [ "$(id -u)" -ne 0 ]; then
# If we are not root then we need to sudo
sudo make install
else
# Default docker image does not have users setup so we are only root and can not sudo
make install
fi

cd /tmp
rm wolfssl.tar.gz
rm -rf wolfssl-*
7 changes: 7 additions & 0 deletions .github/workflows/jwt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,3 +93,10 @@ jobs:
cmake --build --preset ci-ubsan --target rsa-verify-run
cmake --build --preset ci-ubsan --target jwks-verify-run
cmake --build --preset ci-ubsan --target jwt-cpp-test-run

devcontainers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: docker build -t default -f .devcontainer/Dockerfile .
- run: docker build -t wolfssl -f .devcontainer/wolfssl/Dockerfile .
4 changes: 1 addition & 3 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,16 +75,14 @@ jobs:
name: render-defaults (${{ matrix.traits.name }})
steps:
- uses: actions/checkout@v4
- run: |
sudo apt-get install clang-format-14
- uses: ./.github/actions/render/defaults
id: render
with:
traits_name: ${{ matrix.traits.name }}
library_name: ${{ matrix.traits.library }}
library_url: ${{ matrix.traits.url }}
disable_default_traits: ${{ matrix.traits.disable_pico }}
- run: clang-format-14 -i ${{ steps.render.outputs.file_path }}
- run: clang-format -i ${{ steps.render.outputs.file_path }}
- run: git add ${{ steps.render.outputs.file_path }}
- uses: ./.github/actions/process-linting-results
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ jobs:
- uses: shogo82148/actions-upload-release-asset@v1
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: /tmp/jwt-cpp-${{ github.event.release.tag_name }}.zip
asset_path: /tmp/jwt-cpp-${{ github.event.release.tag_name }}.zip