add build script

This commit is contained in:
sam 2025-02-24 18:25:49 +01:00
parent 6fe816404f
commit a72c0f41c3
Signed by: sam
GPG key ID: B4EF20DDE721CAA1
2 changed files with 39 additions and 0 deletions

3
.gitignore vendored
View file

@ -14,3 +14,6 @@ docker/proxy-config.json
docker/frontend.env
Foxnouns.DataMigrator/apps.json
out/
build/

36
build.sh Executable file
View file

@ -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"