From 424ded863e8bcd8661e4770565a796b59e636996 Mon Sep 17 00:00:00 2001 From: Lester Szeto Date: Mon, 25 Nov 2024 11:53:28 -0800 Subject: [PATCH] Updated BUILD.md with release instructions --- BUILD.md | 15 ++++++++++++++- scripts/release.sh | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/BUILD.md b/BUILD.md index 66e7358..dd7a5da 100644 --- a/BUILD.md +++ b/BUILD.md @@ -12,7 +12,6 @@ Requirements doc can be found [here](https://docs.google.com/document/d/1DXrYdTb * Tableau.Migration.App.GUI - Gui implementation using Avalonia framework. # Building -``` ## From Source Root ``` dotnet build Tableau.Migration.App.sln @@ -37,3 +36,17 @@ dotnet run ``` dotnet test Tableau.Migration.App.sln ``` +# Releasing +There are bash scripts found in the `/scripts` folder that details out the commands to publish the release files for the project. +Primarily there is the `release.sh` script to publish the release builds, and the `macos.sh` to create the macOS packages. Both of these scripts are used in the +github release hook. + +## release.sh +`/scripts/release.sh` will perform a `dotnet publish` to create a release binary for multiple platforms (`win-x64`, `osx-arm64`, `osx-x64`, `linux-arm64`, `linux-x64`) +the releases are then placed into the `/build/` folder with each platform release under their own respective sub-directory. + +## macos.sh +`/scripts/macos.sh` is a separate script that is meant to be run after the release builds are generated from `/scripts/release.sh`. This script takes the generated release binaries and packages them into a `.app` for macOS +The script itself takes in one of two arguments: `--x64` and `--arm64` to determine which macos package to generate. The output is then placed inside the `/build/` folder as `/build/osx_{platform}_macapp/TableauMigration.app` + + diff --git a/scripts/release.sh b/scripts/release.sh index a6dd44a..958465c 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -11,4 +11,4 @@ dotnet publish ./src/Tableau.Migration.App.GUI -c Release -r osx-x64 --self-cont dotnet publish ./src/Tableau.Migration.App.GUI -c Release -r linux-arm64 --self-contained -p:PublishSingleFile=true /p:DebugType=None /p:GenerateDocumentationFile=false -o ${PROJECT_DIR}/build/linux_arm64 -dotnet publish ./src/Tableau.Migration.App.GUI -c Release -r linux-arm64 --self-contained -p:PublishSingleFile=true /p:DebugType=None /p:GenerateDocumentationFile=false -o ${PROJECT_DIR}/build/linux_x64 +dotnet publish ./src/Tableau.Migration.App.GUI -c Release -r linux-x64 --self-contained -p:PublishSingleFile=true /p:DebugType=None /p:GenerateDocumentationFile=false -o ${PROJECT_DIR}/build/linux_x64