-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
-configured Docker to build Linux release;
-added release ci config; -added clang-format config;
- Loading branch information
1 parent
5ccd569
commit 8e36030
Showing
5 changed files
with
158 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
--- | ||
BasedOnStyle: WebKit | ||
AlignAfterOpenBracket: AlwaysBreak | ||
AllowAllArgumentsOnNextLine: false | ||
AllowAllConstructorInitializersOnNextLine: false | ||
AllowAllParametersOfDeclarationOnNextLine: false | ||
AllowShortFunctionsOnASingleLine: Empty | ||
AllowShortLambdasOnASingleLine: Empty | ||
AllowShortEnumsOnASingleLine: false | ||
AllowShortIfStatementsOnASingleLine: Never | ||
AllowShortLoopsOnASingleLine: false | ||
AllowShortBlocksOnASingleLine: Empty | ||
AlwaysBreakTemplateDeclarations: Yes | ||
BinPackArguments: false | ||
BinPackParameters: false | ||
BraceWrapping: | ||
AfterFunction: true | ||
BeforeElse: true | ||
BeforeLambdaBody: true | ||
BeforeWhile: true | ||
BeforeCatch: true | ||
BreakBeforeBraces: Custom | ||
BreakBeforeBinaryOperators: None | ||
BreakInheritanceList: AfterComma | ||
ColumnLimit: 120 | ||
ContinuationIndentWidth: 8 | ||
Cpp11BracedListStyle: true | ||
NamespaceIndentation: None | ||
PenaltyBreakBeforeFirstCallParameter: 0 | ||
PenaltyReturnTypeOnItsOwnLine: 1000 | ||
PenaltyBreakAssignment: 10 | ||
SpaceBeforeCpp11BracedList: false | ||
SpaceInEmptyBlock: false | ||
SpaceInEmptyParentheses: false | ||
SpaceAfterTemplateKeyword: false | ||
SpacesInLineCommentPrefix: | ||
Minimum: 0 | ||
Maximum: -1 | ||
FixNamespaceComments: true | ||
UseCRLF: false | ||
IncludeCategories: | ||
# Headers in <> without extension. | ||
- Regex: '<[[:alnum:]\-_]+>' | ||
Priority: 6 | ||
# Headers in <> from specific external libraries. | ||
- Regex: '<(gtest|gmock|boost|gsl)\/' | ||
Priority: 5 | ||
# Headers in <> with subdirectory. | ||
- Regex: '<[[:alnum:]\-_]+\/' | ||
Priority: 4 | ||
# Headers in <> with extension. | ||
- Regex: '<[[:alnum:].\-_]+>' | ||
Priority: 3 | ||
# Headers in "" with subdirectory. | ||
- Regex: '"[[:alnum:]\-_]+\/' | ||
Priority: 2 | ||
# Headers in "" with extension. | ||
- Regex: '"[[:alnum:].\-_]+"' | ||
Priority: 1 | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
name: release | ||
|
||
on: | ||
push: | ||
tags: [ "v*" ] | ||
|
||
jobs: | ||
build-windows: | ||
name: Build Windows version | ||
runs-on: windows-latest | ||
steps: | ||
- name: Install ninja | ||
run: choco install ninja | ||
|
||
- uses: actions/checkout@v4 | ||
- uses: rui314/setup-mold@v1 | ||
- uses: ilammy/msvc-dev-cmd@v1 | ||
|
||
- name: Configure CMake | ||
run: cmake --preset=msvc-release -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=Release | ||
|
||
- name: Build | ||
run: cmake --build ${{github.workspace}}/build --config Release | ||
|
||
- name: Upload build artifact | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: hypertextcpp-windows-latest | ||
path: | | ||
${{github.workspace}}/build/hypertextcpp.exe | ||
release_hypertextcpp: | ||
name: Release hypertextcpp | ||
runs-on: ubuntu-latest | ||
needs: build-windows | ||
steps: | ||
- name: Git checkout | ||
uses: actions/checkout@v4 | ||
|
||
- name: Build linux version in Docker | ||
run: DOCKER_BUILDKIT=1 docker build --build-arg cmake_preset=clang-release --output build . | ||
|
||
- name: Run unit tests | ||
working-directory: ${{github.workspace}}/build/tests | ||
run: ./test_hypertextcpp | ||
|
||
- name: Download hypertextcpp Windows build | ||
uses: actions/download-artifact@v4 | ||
with: | ||
name: hypertextcpp-windows-latest | ||
path: build | ||
- name: Archive shared_lib_api | ||
run: zip -r shared_lib_api.zip shared_lib_api | ||
- name: Upload release | ||
uses: softprops/action-gh-release@v2 | ||
with: | ||
files: | | ||
build/hypertextcpp | ||
build/hypertextcpp.exe | ||
shared_lib_api.zip |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
FROM alpine:3.18.3 AS hypertextcpp-build-container | ||
ARG cmake_preset | ||
RUN apk update && \ | ||
apk add --no-cache \ | ||
git \ | ||
build-base \ | ||
ccache \ | ||
cmake \ | ||
clang \ | ||
clang-dev \ | ||
mold \ | ||
samurai | ||
|
||
WORKDIR /hypertextcpp_src | ||
COPY external ./external/ | ||
COPY src ./src/ | ||
COPY tests ./tests/ | ||
COPY CMakeLists.txt . | ||
COPY CMakePresets.json . | ||
RUN cmake --preset "$cmake_preset" -B build -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_EXE_LINKER_FLAGS="-static" -DENABLE_TESTS=ON | ||
RUN cmake --build build | ||
RUN strip --strip-all build/hypertextcpp | ||
|
||
|
||
FROM scratch AS hypertextcpp-build | ||
COPY --from=hypertextcpp-build-container /hypertextcpp_src/build/hypertextcpp . | ||
COPY --from=hypertextcpp-build-container /hypertextcpp_src/build/tests/test_hypertextcpp ./tests/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,6 @@ | ||
#include "node_utils.h" | ||
#include <algorithm> | ||
#include <iterator> | ||
|
||
namespace htcpp{ | ||
|
||
|