diff options
author | vnugent <public@vaughnnugent.com> | 2024-04-02 14:58:43 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2024-04-02 14:58:43 -0400 |
commit | 3c15d5471d5134f072365378b04693903419b092 (patch) | |
tree | 5375aa3f5dcb7aebf18cba6d1da131795c123529 /ci | |
parent | a01220ae8fb0e87beb35de21f56e5b1106712e8d (diff) |
Squashed commit of the following:v0.1.2
commit 24fac82efe9e5c18e86ed535678640e7401472db
Author: vnugent <public@vaughnnugent.com>
Date: Tue Apr 2 14:54:20 2024 -0400
ci: Configure manual dep versions
commit d2ae31ec919d72e66d8b40db8394b55efd6ea6d3
Author: vnugent <public@vaughnnugent.com>
Date: Sun Mar 31 22:19:53 2024 -0400
ci: Native compression support for win
commit fa7fdef79c6d468022b77f81314ac129fe0cdc32
Merge: 308092d a01220a
Author: vnugent <public@vaughnnugent.com>
Date: Wed Mar 13 21:26:55 2024 -0400
Merge branch 'master' into develop
commit 308092d6d743d0ba8f7ca86fd77e9c837dc46e88
Merge: 48637a8 9134093
Author: vnugent <public@vaughnnugent.com>
Date: Wed Mar 13 21:01:02 2024 -0400
Merge branch 'master' into develop
commit 48637a8781fc951c307216f604fc1610e68691c3
Merge: 1e08c6d e326736
Author: vnugent <public@vaughnnugent.com>
Date: Wed Mar 13 16:20:35 2024 -0400
Merge branch 'master' into develop
commit 1e08c6d2112459dc02a0ab873123c4a363b01d21
Author: vnugent <public@vaughnnugent.com>
Date: Wed Mar 13 16:17:58 2024 -0400
ci: verified container build ready for next release
commit 85a1e5b7cc5c99e97a2d4e99bbceb0d2139742ff
Author: vnugent <public@vaughnnugent.com>
Date: Tue Mar 12 22:05:16 2024 -0400
ci: exciting bare-metal build process, os support, smaller packages
commit 748cdbf4880d830fd794e92856e8c35a46e4f884
Author: vnugent <public@vaughnnugent.com>
Date: Mon Mar 11 21:21:18 2024 -0400
feat(app): #1 update libs & add curl support
Diffstat (limited to 'ci')
-rw-r--r-- | ci/container/Dockerfile | 1 | ||||
-rw-r--r-- | ci/container/Taskfile.yaml | 14 | ||||
-rw-r--r-- | ci/container/config-templates/config-template.json | 3 | ||||
-rw-r--r-- | ci/container/docker-compose.yaml | 1 | ||||
-rw-r--r-- | ci/install.ps1 | 11 | ||||
-rw-r--r-- | ci/install.taskfile.yaml | 2 | ||||
-rw-r--r-- | ci/plugins.taskfile.yaml | 58 | ||||
-rw-r--r-- | ci/release.taskfile.yaml | 6 | ||||
-rw-r--r-- | ci/taskfile.yaml | 6 |
9 files changed, 60 insertions, 42 deletions
diff --git a/ci/container/Dockerfile b/ci/container/Dockerfile index f5ac798..b7898d4 100644 --- a/ci/container/Dockerfile +++ b/ci/container/Dockerfile @@ -66,6 +66,7 @@ ENV MAX_LOGIN_ATTEMPS=10 #HC Vault ENV HC_VAULT_ADDR="" ENV HC_VAULT_TOKEN="" +ENV HC_VAULT_TRUST_CERT=false #VNCACHE (default to memory only) ENV CACHE_ASM_PATH=VNLib.Data.Caching.Providers.VNCache.dll diff --git a/ci/container/Taskfile.yaml b/ci/container/Taskfile.yaml index 557e48d..69dff71 100644 --- a/ci/container/Taskfile.yaml +++ b/ci/container/Taskfile.yaml @@ -51,9 +51,6 @@ tasks: - task: prune-sql-runtimes - #install rpmalloc - - task: install-rpmalloc-lib - postbuild_success: cmds: #tar up the build directory and move it to the output bin directory @@ -66,17 +63,6 @@ tasks: cmds: - cmd: powershell -Command "rm -Recurse -Force ./build" - install-rpmalloc-lib: - internal: true - cmds: - #install compressor plugin - - task: install:install - vars: - PROJECT_NAME: 'vnlib_rpmalloc' - MODULE_NAME: "VNLib.Core" - FILE_NAME: "src.tgz" - DIR: './build/app/lib/vnlib_rpmalloc' - setup-container-image: internal: true cmds: diff --git a/ci/container/config-templates/config-template.json b/ci/container/config-templates/config-template.json index 10092dd..e226efb 100644 --- a/ci/container/config-templates/config-template.json +++ b/ci/container/config-templates/config-template.json @@ -109,7 +109,8 @@ //HASHICORP VAULT "hashicorp_vault": { "url": "${HC_VAULT_ADDR}", - "token": "${HC_VAULT_TOKEN}" + "token": "${HC_VAULT_TOKEN}", + "trust_certificate": ${HC_VAULT_TRUST_CERT}, }, //SQL CONFIG diff --git a/ci/container/docker-compose.yaml b/ci/container/docker-compose.yaml index 03eb815..1ffee2f 100644 --- a/ci/container/docker-compose.yaml +++ b/ci/container/docker-compose.yaml @@ -23,6 +23,7 @@ services: #HC Vault HC_VAULT_ADDR: "" HC_VAULT_TOKEN: "" + HC_VAULT_TRUST_CERT: "false" #VNCACHE (default to memory only) CACHE_ASM_PATH: "VNLib.Data.Caching.Providers.VNCache.dll" MEMCACHE_ONLY: "true" diff --git a/ci/install.ps1 b/ci/install.ps1 index 4c42c18..7a5c455 100644 --- a/ci/install.ps1 +++ b/ci/install.ps1 @@ -1,15 +1,12 @@ -param([String] $BaseUrl, [String] $ModuleName, [String] $ProjectName, [String]$FileName) +param([String] $BaseUrl, [String] $ModuleName, [String] $ProjectName, [String]$FileName, [String]$Version) -#get the latest file -Invoke-WebRequest "$BaseUrl/$ModuleName/@latest" -OutFile latest.txt -#read the file into a variable -$latest = Get-Content latest.txt +$_src = "$BaseUrl/$ModuleName/$Version/$ProjectName/$FileName" #download the latest version -Invoke-WebRequest "$BaseUrl/$ModuleName/$latest/$ProjectName/$FileName" -OutFile $FileName +Invoke-WebRequest "$_src" -OutFile $FileName #download latest sha256 -Invoke-WebRequest "$BaseUrl/$ModuleName/$latest/$ProjectName/$FileName.sha256" -OutFile "$FileName.sha256" +Invoke-WebRequest "$_src.sha256" -OutFile "$FileName.sha256" #verify the file $hash = (Get-FileHash $FileName -Algorithm SHA256).Hash diff --git a/ci/install.taskfile.yaml b/ci/install.taskfile.yaml index e1624a3..898958b 100644 --- a/ci/install.taskfile.yaml +++ b/ci/install.taskfile.yaml @@ -13,7 +13,7 @@ tasks: #make the plugin directory - cmd: powershell -Command "mkdir {{.DIR}} -Force" ignore_error: true - - cd {{.DIR}} && powershell "{{ .PROJECT_DIR }}/install.ps1" -BaseUrl {{.BUILDS_URL}} -ModuleName {{.MODULE_NAME}} -ProjectName {{.PROJECT_NAME}} -FileName {{.FILE_NAME}} + - cd {{.DIR}} && powershell "{{ .PROJECT_DIR }}/install.ps1" -BaseUrl {{.BUILDS_URL}} -ModuleName {{.MODULE_NAME}} -ProjectName {{.PROJECT_NAME}} -FileName {{.FILE_NAME}} -Version {{.VERSION}} - cd {{.DIR}} && tar -xzf {{.FILE_NAME}} #remove the archive file - cd {{.DIR}} && powershell -Command "rm {{.FILE_NAME}}"
\ No newline at end of file diff --git a/ci/plugins.taskfile.yaml b/ci/plugins.taskfile.yaml index cab3d53..385890a 100644 --- a/ci/plugins.taskfile.yaml +++ b/ci/plugins.taskfile.yaml @@ -10,14 +10,20 @@ includes: taskfile: install.taskfile.yaml vars: + CORE_VERSION: 'e07537a3dde8e16100ef1bcc2a54f9ade8ae856f' + ESSENTIALS_VERSION: '27b487b6d0befdb2197a58ceadb1f1ac2b337786' + CACHE_VERSION: '49c3641def5ae1b7557ed61ed7bb28bbf425ccc9' + USERS_VERSION: '884ed18f900b59be30a6e51c2ec7b714ac860bfd' + SESSION_VERSION: '9c8da6ea8fabe1d752bb28fd5eaeeb0b1d06d94d' + EXTENSIONS_VERSION: '6da9d3b34fb0dd61cf8a81290e573e54851fcd07' tasks: all: deps: - install-rpmalloc - - install-compressor-lib - - install-argon2-lib + - install-compressor-lib + - install-argon2-lib - install-compression - install-sqlite cmds: @@ -52,6 +58,7 @@ tasks: MODULE_NAME: "Plugins.Essentials" FILE_NAME: "release.tgz" DIR: './plugins/Essentials.Accounts' + VERSION: '{{.ESSENTIALS_VERSION}}' install-router: cmds: @@ -62,6 +69,7 @@ tasks: MODULE_NAME: "Plugins.Essentials" FILE_NAME: "release.tgz" DIR: './plugins/PageRouter' + VERSION: '{{.ESSENTIALS_VERSION}}' install-sessions: cmds: @@ -72,6 +80,18 @@ tasks: MODULE_NAME: "VNLib.Plugins.Sessions" FILE_NAME: "release.tgz" DIR: './plugins/SessionProvider' + VERSION: '{{.SESSION_VERSION}}' + + install-vncache-sessions: + cmds: + #install vncache-web-sessions plugin + - task: install:install + vars: + PROJECT_NAME: 'VNLib.Plugins.Sessions.VNCache' + MODULE_NAME: "VNLib.Plugins.Sessions" + FILE_NAME: "release.tgz" + DIR: './plugins/assets/VNLib.Plugins.Sessions.VNCache' + VERSION: '{{.SESSION_VERSION}}' install-users: cmds: @@ -82,6 +102,7 @@ tasks: MODULE_NAME: "VNLib.Plugins.Essentials.Users" FILE_NAME: "release.tgz" DIR: './plugins/assets/VNLib.Plugins.Essentials.Users' + VERSION: '{{.USERS_VERSION}}' install-vncache: cmds: @@ -92,16 +113,7 @@ tasks: MODULE_NAME: "VNLib.Data.Caching" FILE_NAME: "release.tgz" DIR: './plugins/assets/VNLib.Data.Caching.Providers.VNCache' - - install-vncache-sessions: - cmds: - #install vncache-web-sessions plugin - - task: install:install - vars: - PROJECT_NAME: 'VNLib.Plugins.Sessions.VNCache' - MODULE_NAME: "VNLib.Plugins.Sessions" - FILE_NAME: "release.tgz" - DIR: './plugins/assets/VNLib.Plugins.Sessions.VNCache' + VERSION: '{{.CACHE_VERSION}}' install-sqlite: cmds: @@ -112,6 +124,7 @@ tasks: MODULE_NAME: "VNLib.Plugins.Extensions" FILE_NAME: "release.tgz" DIR: './plugins/assets/VNLib.Plugins.Extensions.Loading.Sql.SQLite' + VERSION: '{{.EXTENSIONS_VERSION}}' install-compression: cmds: @@ -122,9 +135,19 @@ tasks: MODULE_NAME: "VNLib.Core" FILE_NAME: "release.tgz" DIR: './lib/vnlib.net.compression' + VERSION: '{{.CORE_VERSION}}' install-compressor-lib: cmds: + #install the compressor binary for Windows + - task: install:install + vars: + PROJECT_NAME: 'vnlib_compress' + MODULE_NAME: "VNLib.Core" + FILE_NAME: "msvc-x64-release-vnlib_compress.tgz" + DIR: './lib/vnlib_compress' + VERSION: '{{.CORE_VERSION}}' + #install compressor plugin - task: install:install vars: @@ -132,6 +155,9 @@ tasks: MODULE_NAME: "VNLib.Core" FILE_NAME: "src.tgz" DIR: './lib/vnlib_compress' + VERSION: '{{.CORE_VERSION}}' + + - cd 'lib/vnlib_compress' && powershell rm package.json install-argon2-lib: cmds: @@ -140,8 +166,9 @@ tasks: vars: PROJECT_NAME: 'phc-winner-argon2' MODULE_NAME: "VNLib.Core" - FILE_NAME: "win-x64-release-Argon2.tgz" + FILE_NAME: "msvc-x64-release-Argon2.tgz" DIR: './lib/argon2' + VERSION: '{{.CORE_VERSION}}' #install the argon2 source code package for Linux and Mac - task: install:install @@ -150,6 +177,7 @@ tasks: MODULE_NAME: "VNLib.Core" FILE_NAME: "src.tgz" DIR: './lib/argon2' + VERSION: '{{.CORE_VERSION}}' #remove unneeded files - for: [ man, latex, kats, argon2-specs.pdf, package.json ] @@ -165,11 +193,13 @@ tasks: MODULE_NAME: "VNLib.Core" FILE_NAME: "src.tgz" DIR: './lib/vnlib_rpmalloc' + VERSION: '{{.CORE_VERSION}}' #install the rpmalloc binary for Windows - task: install:install vars: PROJECT_NAME: 'vnlib_rpmalloc' MODULE_NAME: "VNLib.Core" - FILE_NAME: "win-x64-release-vnlib_rpmalloc.tgz" + FILE_NAME: "msvc-x64-release-vnlib_rpmalloc.tgz" DIR: './lib/vnlib_rpmalloc' + VERSION: '{{.CORE_VERSION}}' diff --git a/ci/release.taskfile.yaml b/ci/release.taskfile.yaml index f6fdf62..4268f25 100644 --- a/ci/release.taskfile.yaml +++ b/ci/release.taskfile.yaml @@ -102,10 +102,10 @@ tasks: internal: true dir: 'lib/' cmds: - - cd vnlib_compress/ && task #build the native compressor library for linux/mac - - cmd: cd vnlib_compress/ && cp build/libvn_compress{{if eq OS "darwin"}}.dylib{{else}}.so{{end}} ../vnlib_compress.dll + - cmd: cd vnlib_compress/ && task && cp build/libvn_compress{{if eq OS "darwin"}}.dylib{{else}}.so{{end}} ../vnlib_compress.dll platforms: [ linux, darwin ] - - cmd: powershell -Command "cp vnlib_compress/build/Release/vnlib_compress.dll vnlib_compress.dll" + #windows now supports pre-compiled libs + - cmd: powershell cp vnlib_compress/vnlib_compress.dll vnlib_compress.dll platforms: [ windows/amd64 ]
\ No newline at end of file diff --git a/ci/taskfile.yaml b/ci/taskfile.yaml index 43e11a8..f9168b0 100644 --- a/ci/taskfile.yaml +++ b/ci/taskfile.yaml @@ -8,6 +8,7 @@ version: "3" vars: BUILDS_URL: https://www.vaughnnugent.com/public/resources/software/builds SQLITE_OUT_DIR: "plugins/assets/VNLib.Plugins.Extensions.Loading.Sql.SQLite" + WEBSERVER_VERSION: 'ed0c71876ec04528e24e612ce723d3aed8971262' includes: install: @@ -46,13 +47,14 @@ tasks: - cmd : powershell -Command "mkdir webserver -Force" ignore_error: true - #clone the webserver (it's cross platform when using dotnet command) + #clone the webserver (it's cross platform when using dotnet command so just grab the linux version) - task: install:install vars: PROJECT_NAME: 'VNLib.Webserver' MODULE_NAME: "VNLib.Webserver" FILE_NAME: "linux-x64-release.tgz" DIR: 'webserver/' + VERSION: '{{.WEBSERVER_VERSION}}' #remove the executable since its not needed - cmd: cd webserver/ && powershell -Command "rm VNlib.WebServer" @@ -73,7 +75,7 @@ tasks: TARGET_OS: '{{.ITEM}}' #cleanup unnecessary build files that clog up the pipeline - - for: [ build, plugins, dist, lib ] + - for: [ build, plugins, dist, lib, webserver ] cmd: powershell -Command "rm -Recurse '{{.ITEM}}'" ignore_error: true |