repertory/.jenkins_linux_builds
Scott E. Graves f43c41f88a
Some checks failed
BlockStorage/repertory_osx/pipeline/head This commit looks good
BlockStorage/repertory_windows/pipeline/head This commit looks good
BlockStorage/repertory/pipeline/head There was a failure building this commit
BlockStorage/repertory_linux_builds/pipeline/head This commit looks good
BlockStorage/repertory_osx_builds/pipeline/head There was a failure building this commit
2.0.0-rc (#9)
### Issues

* \#1 \[bug\] Unable to mount S3 due to 'item_not_found' exception
* \#2 Require bucket name for S3 mounts
* \#3 \[bug\] File size is not being updated in S3 mount
* \#4 Upgrade to libfuse-3.x.x
* \#5 Switch to renterd for Sia support
* \#6 Switch to cpp-httplib to further reduce dependencies
* \#7 Remove global_data and calculate used disk space per provider
* \#8 Switch to libcurl for S3 mount support

### Changes from v1.x.x

* Added read-only encrypt provider
  * Pass-through mount point that transparently encrypts source data using `XChaCha20-Poly1305`
* Added S3 encryption support via `XChaCha20-Poly1305`
* Added replay protection to remote mounts
* Added support base64 writes in remote FUSE
* Created static linked Linux binaries for `amd64` and `aarch64` using `musl-libc`
* Removed legacy Sia renter support
* Removed Skynet support
* Fixed multiple remote mount WinFSP API issues on \*NIX servers
* Implemented chunked read and write
  * Writes for non-cached files are performed in chunks of 8Mib
* Removed `repertory-ui` support
* Removed `FreeBSD` support
* Switched to `libsodium` over `CryptoPP`
* Switched to `XChaCha20-Poly1305` for remote mounts
* Updated `GoogleTest` to v1.14.0
* Updated `JSON for Modern C++` to v3.11.2
* Updated `OpenSSL` to v1.1.1w
* Updated `RocksDB` to v8.5.3
* Updated `WinFSP` to 2023
* Updated `boost` to v1.78.0
* Updated `cURL` to v8.3.0
* Updated `zlib` to v1.3
* Use `upload_manager` for all providers
  * Adds a delay to uploads to prevent excessive API calls
  * Supports re-upload after mount restart for incomplete uploads
  * NOTE: Uploads for all providers are full file (no resume support)
    * Multipart upload support is planned for S3

Reviewed-on: #9
2023-10-29 06:55:59 +00:00

96 lines
2.5 KiB
Groovy

#!groovy
pipeline {
agent none
environment {
BUILD_ARGS = '--build . -j 8'
CONFIGURE_ARGS = '../.. -DCMAKE_BUILD_TYPE=Release -DREPERTORY_ENABLE_S3=ON'
CONFIGURE_MINGW64_ARGS = '../.. -DCMAKE_BUILD_TYPE=Release -DREPERTORY_ENABLE_S3=ON -DCMAKE_TOOLCHAIN_FILE=../../cmake/mingw-w64-x86_64.cmake'
REPERTORY_TEST_DIR = "${HOME}/.ci/cfg"
}
options {
disableConcurrentBuilds()
retry(2)
}
stages {
stage('clean') {
agent any
steps {
sh 'mkdir -p build/'
sh 'rm -f build/*/librepertory.a'
sh 'rm -f build/*/repertory'
sh 'rm -f build/*/unittests'
}
}
stage('alpine') {
agent {
dockerfile {
filename 'alpine'
dir 'docker/64_bit'
}
}
steps {
retry(2) {
sleep time: 5, unit: 'SECONDS'
cmake arguments: "${env.CONFIGURE_ARGS}", installation: 'InSearchPath', workingDir: 'build/alpine'
cmake arguments: "${env.BUILD_ARGS}", installation: 'InSearchPath', workingDir: 'build/alpine'
sh 'strip build/alpine/repertory'
}
}
}
stage('alpine_arm64') {
agent {
dockerfile {
filename 'alpine'
dir 'docker/aarch64'
args '-v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static'
}
}
steps {
retry(2) {
sleep time: 5, unit: 'SECONDS'
cmake arguments: "${env.CONFIGURE_ARGS}", installation: 'InSearchPath', workingDir: 'build/alpine_arm64'
cmake arguments: "${env.BUILD_ARGS}", installation: 'InSearchPath', workingDir: 'build/alpine_arm64'
sh 'strip build/alpine_arm64/repertory'
}
}
}
stage('mingw64') {
agent {
dockerfile {
filename 'mingw64'
dir 'docker/64_bit'
}
}
steps {
retry(2) {
sleep time: 5, unit: 'SECONDS'
cmake arguments: "${env.CONFIGURE_MINGW64_ARGS}", installation: 'InSearchPath', workingDir: 'build/mingw64'
cmake arguments: "${env.BUILD_ARGS}", installation: 'InSearchPath', workingDir: 'build/mingw64'
sh 'strip build/mingw64/repertory.exe'
}
}
}
stage('deliver') {
agent any
steps {
sh 'scripts/make_package.sh alpine /home/sgraves/cert build/alpine_arm64 . /mnt/filebase 1'
sh 'scripts/make_package.sh alpine /home/sgraves/cert build/alpine . /mnt/filebase'
sh 'scripts/make_package.sh mingw64 /home/sgraves/cert build/mingw64 . /mnt/filebase'
}
}
}
}