aboutsummaryrefslogtreecommitdiff
path: root/Taskfile.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'Taskfile.yaml')
-rw-r--r--Taskfile.yaml73
1 files changed, 58 insertions, 15 deletions
diff --git a/Taskfile.yaml b/Taskfile.yaml
index a79921c..0af15f3 100644
--- a/Taskfile.yaml
+++ b/Taskfile.yaml
@@ -14,6 +14,7 @@ version: '3'
vars:
CMAKE_BUILD_DIR: 'build/{{ OS }}'
+ TEST_EXE_NAME: 'nctest'
tasks:
@@ -29,14 +30,6 @@ tasks:
- task: build-internal
vars: { CMAKE_TEST_STATUS: 'ON', BUILD_CONFIG: 'Debug' }
- build-internal:
- internal: true
- cmds:
- - cmake -S . -B{{.CMAKE_BUILD_DIR}} -DCMAKE_BUILD_TYPE={{.BUILD_CONFIG}} -DNC_BUILD_TESTS={{ .CMAKE_TEST_STATUS }} {{.CLI_ARGS}}
- - cmake --build {{.CMAKE_BUILD_DIR}} --config {{.BUILD_CONFIG}}
- - cmd: echo "Build complete. Your files can be found in the {{.CMAKE_BUILD_DIR}} directory"
- silent: true
-
#available to users and vnbuild runner
test:
desc: "Builds a local copy of the library in a debug configuration, then runs the test executable"
@@ -44,6 +37,37 @@ tasks:
- task: build-debug
- cmd: cd {{.CMAKE_BUILD_DIR}} && ctest -C Debug --verbose
+ test-mbedtls:
+ desc: "Builds and runs tests for noscrypt using the mbedtls crypto library for the current platform"
+ cmds:
+ - task: build-internal
+ vars:
+ CMAKE_TEST_STATUS: 'ON'
+ BUILD_CONFIG: 'Debug'
+ CLI_ARGS: '-DNC_FETCH_MBEDTLS=ON {{.CLI_ARGS}}' #fetches and enabled medtls
+ - cmd: cd {{.CMAKE_BUILD_DIR}} && ctest -C Debug --verbose
+
+ test-dev:
+ desc: "Re-runs compilation phase and test execution"
+ cmds:
+ - task: compile
+ vars: { BUILD_CONFIG: 'Debug' }
+ - cmd: cd {{.CMAKE_BUILD_DIR}} && ctest -C Debug --verbose --output-on-failure
+
+ compile:
+ internal: true
+ cmds:
+ - cmake --build {{.CMAKE_BUILD_DIR}} --config {{.BUILD_CONFIG}}
+
+ build-internal:
+ internal: true
+ cmds:
+ - cmake -S . -B{{.CMAKE_BUILD_DIR}} -DCMAKE_BUILD_TYPE={{.BUILD_CONFIG}} -DNC_BUILD_TESTS={{ .CMAKE_TEST_STATUS }} {{.CLI_ARGS}}
+ - task: compile
+ vars: { BUILD_CONFIG: '{{.BUILD_CONFIG}}' }
+ - cmd: echo "Build complete. Your files can be found in the {{.CMAKE_BUILD_DIR}} directory"
+ silent: true
+
install:
desc: "Uses cmake to install the library on your system"
cmds:
@@ -115,17 +139,35 @@ tasks:
desc: "Packs up the project source code and creates a tarball in the builds binary directory"
vars:
TARGET_SOURCE: '{{.PROJECT_DIR}}/{{.BINARY_DIR}}/{{.PROJECT_NAME}}-src.tgz'
- SOURCE_FILES: 'CMakeLists.txt src include license tests vendor readme.md Taskfile.yaml'
+ SOURCE_FILES:
+ CMakeLists.txt
+ Taskfile.yaml
+ src
+ include
+ license
+ tests
+ vendor
+ readme.md
+ CMakePresets.json
cmds:
#tar up the source
- - tar -czf "{{.TARGET_SOURCE}}" {{.SOURCE_FILES}}
+ - tar -czf "{{.TARGET_SOURCE}}" {{ .SOURCE_FILES | join " " }}
#################################
#
# DEV TASKS
#
#################################
+
+ dev-gdb-test:
+ platforms: [ linux ]
+ desc: "Starts a new gdb session on the test executable"
+ interactive: true
+ cmds:
+ - task: compile
+ vars: { BUILD_CONFIG: 'Debug' }
+ - cmd: gdb '{{.CMAKE_BUILD_DIR}}/{{.TEST_EXE_NAME}}'
dev-update-deps:
desc: "Updates vendored projects files (headers mostly) from their source repositories to the latest version"
@@ -134,6 +176,7 @@ tasks:
- task: dev-update-monocypher
- task: dev-update-mbedtls-headers
- task: dev-update-openssl-headers
+ - task: dev-set-secp256-headers
dev-update-monocypher:
vars:
@@ -162,13 +205,13 @@ tasks:
- git clone --branch {{ .MBEDTLS_GIT_BRANCH }} {{ .MBEDTLS_GIT_URL }} '{{ .TMP_DIR }}'
- - for: [ 'include/mbedtls', 'include/psa' ]
+ - for: [ 'include/mbedtls' ]
cmd: powershell cp -Recurse -Force '{{ .TMP_DIR }}/{{ .ITEM }}' '{{.MBEDTLS_DIR}}/include'
dev-update-openssl-headers:
vars:
- OPENSSL_GIT_URL: 'git://git.openssl.org/openssl.git'
- OPENSSL_GIT_BRANCH: 'master'
+ OPENSSL_GIT_URL: 'https://github.com/openssl/openssl'
+ OPENSSL_GIT_BRANCH: 'openssl-3.3.1'
OPENSSL_DIR: 'vendor/openssl'
TMP_DIR: '.update/openssl'
cmds:
@@ -183,9 +226,9 @@ tasks:
dev-set-secp256-headers:
vars:
SECP256_GIT_URL: 'https://github.com/bitcoin-core/secp256k1'
- SECP256_GIT_BRANCH: 'v0.5.0'
+ SECP256_GIT_BRANCH: 'v0.5.1'
SECP256_DIR: 'vendor/secp256k1'
- TMP_DIR: '.update/openssl'
+ TMP_DIR: '.update/secp256k1'
cmds:
- cmd: powershell mkdir '{{.TMP_DIR}}' -Force
ignore_error: true