From a72c0f41c3965288e2fa159d410719d5c83579df Mon Sep 17 00:00:00 2001 From: sam Date: Mon, 24 Feb 2025 18:25:49 +0100 Subject: [PATCH] add build script --- .gitignore | 3 +++ build.sh | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100755 build.sh diff --git a/.gitignore b/.gitignore index 9c16977..9037fa0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,6 @@ docker/proxy-config.json docker/frontend.env Foxnouns.DataMigrator/apps.json + +out/ +build/ diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..e14eb53 --- /dev/null +++ b/build.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +set -euxo pipefail + +ROOT_DIR=$(pwd) + +echo "Cleaning output directory ($ROOT_DIR/build)" + +[ -d "$ROOT_DIR/build" ] && rm -r "$ROOT_DIR/build" +mkdir "$ROOT_DIR/build" + +echo "Building .NET backend" + +cd "$ROOT_DIR/Foxnouns.Backend" +[ -d "$ROOT_DIR/Foxnouns.Backend/out" ] && rm -r "$ROOT_DIR/Foxnouns.Backend/out" +dotnet publish --artifacts-path "$ROOT_DIR/Foxnouns.Backend/out" +mv "$ROOT_DIR/Foxnouns.Backend/out/publish/Foxnouns.Backend/"* "$ROOT_DIR/build/bin" + +echo "Building Go rate limiter" + +cd "$ROOT_DIR/Foxnouns.RateLimiter" +go build -o rate -v . +mv rate "$ROOT_DIR/build/rate" + +echo "Building Node.js frontend" + +cd "$ROOT_DIR/Foxnouns.Frontend" +[ -d "$ROOT_DIR/Foxnouns.Frontend/build" ] && rm -r "$ROOT_DIR/Foxnouns.Frontend/build" +pnpm install +pnpm build + +mkdir "$ROOT_DIR/build/fe" +cp -r build .env* package.json pnpm-lock.yaml "$ROOT_DIR/build/fe" +cd "$ROOT_DIR/build/fe" +pnpm install -P + +echo "Finished building Foxnouns.NET"