From 22370f08ca900b60875778cd04978a67ae57faac Mon Sep 17 00:00:00 2001 From: vnugent Date: Tue, 1 Aug 2023 18:39:13 -0400 Subject: Latest updates, build configurations, and native compression --- Module.Taskfile.yaml | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 Module.Taskfile.yaml (limited to 'Module.Taskfile.yaml') diff --git a/Module.Taskfile.yaml b/Module.Taskfile.yaml new file mode 100644 index 0000000..d729ea3 --- /dev/null +++ b/Module.Taskfile.yaml @@ -0,0 +1,68 @@ +# https://taskfile.dev + +#Called by the vnbuild system to produce builds for my website +#https://www.vaughnnugent.com/resources/software + +#This taskfile performs the build operations for a module, it handles +#git code updates, msbuild on solutions, and sleet NuGet feed pushes. + +#this file must be in the same directory as the solution file + +version: '3' + +vars: + INT_DIR: '{{.SCRATCH_DIR}}/obj/{{.MODULE_NAME}}/' + MS_ARGS: '/p:RunAnalyzersDuringBuild=false /p:IntermediateOutputPath="{{.INT_DIR}}" /p:UseCommonOutputDirectory=true /p:BuildInParallel=true /p:MultiProcessorCompilation=true' + PACK_OUT: '{{.OUTPUT_DIR}}/{{.HEAD_SHA}}/pkg' + +tasks: + +#called by build pipeline to sync repo + update: + cmds: + - git remote update + - git reset --hard + - git pull origin {{.BRANCH_NAME}} --verify-signatures + +#called by build pipeline to build module + build: + cmds: + - echo "building module {{.MODULE_NAME}}" + + #re-write semver after hard reset, before build + - dotnet-gitversion.exe /updateprojectfiles + + #build debug mode first + - task: build_debug + - task: build_release + + postbuild_success: + cmds: + #push packages to the sleet feed (feed path is vnbuild global) + - sleet push "{{.PACK_OUT}}/debug/" --source debug --config "{{.SLEET_CONFIG_PATH}}" --force + - sleet push "{{.PACK_OUT}}/release/" --source release --config "{{.SLEET_CONFIG_PATH}}" --force + + postbuild_failed: + cmds: + - echo "postbuild failed {{.MODULE_NAME}}" + +#called by build pipeline to clean module + clean: + cmds: + #clean solution + - dotnet clean /p:BuildInParallel=true /p:MultiProcessorCompilation=true + + +#Internal tasks + build_debug: + internal: true + cmds: + - dotnet publish -c debug {{.MS_ARGS}} + - dotnet pack -c debug {{.MS_ARGS}} -o "{{.PACK_OUT}}/debug/" + + build_release: + internal: true + cmds: + - dotnet publish -c release {{.MS_ARGS}} + - dotnet pack -c release {{.MS_ARGS}} -o "{{.PACK_OUT}}/release/" + \ No newline at end of file -- cgit