This commit is contained in:
+12
-14
@@ -33,22 +33,13 @@ jobs:
|
|||||||
- name: Test solution
|
- name: Test solution
|
||||||
run: dotnet test src/TaxBaik.sln -c Release --no-build
|
run: dotnet test src/TaxBaik.sln -c Release --no-build
|
||||||
|
|
||||||
- name: Publish Web (auto-includes WASM from referenced TaxBaik.Web.Client)
|
- name: Publish Web
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
mkdir -p ./publish-logs
|
mkdir -p ./publish-logs
|
||||||
web_log="./publish-logs/publish-web.log"
|
web_log="./publish-logs/publish-web.log"
|
||||||
start=$(date +%s)
|
start=$(date +%s)
|
||||||
# Web.Client needs a Release static-web-assets manifest for Web publish.
|
if ! dotnet publish src/TaxBaik.Web/TaxBaik.Web.csproj \
|
||||||
# Build it explicitly so publish can reuse the prepared outputs.
|
|
||||||
dotnet build src/TaxBaik.Web.Client/TaxBaik.Web.Client.csproj -c Release --no-restore -p:ContinuousIntegrationBuild=true
|
|
||||||
# Build the Web host in Release as well so publish has the same inputs
|
|
||||||
# the server uses in production.
|
|
||||||
dotnet build src/TaxBaik.Web/TaxBaik.Web.csproj -c Release --no-restore -p:ContinuousIntegrationBuild=true
|
|
||||||
echo "--- Web.Client Release artifacts ---"
|
|
||||||
ls -la src/TaxBaik.Web.Client/bin/Release/net10.0 || true
|
|
||||||
ls -la src/TaxBaik.Web.Client/obj/Release/net10.0 || true
|
|
||||||
if ! dotnet publish src/TaxBaik.Web/ \
|
|
||||||
-c Release \
|
-c Release \
|
||||||
-o ./publish \
|
-o ./publish \
|
||||||
--no-restore \
|
--no-restore \
|
||||||
@@ -87,15 +78,18 @@ jobs:
|
|||||||
echo "✓ Publish Proxy elapsed: $((end - start))s"
|
echo "✓ Publish Proxy elapsed: $((end - start))s"
|
||||||
ls -lh ./publish-logs/publish-proxy.binlog
|
ls -lh ./publish-logs/publish-proxy.binlog
|
||||||
|
|
||||||
- name: Write production secrets
|
- name: Write production config
|
||||||
run: |
|
run: |
|
||||||
set -e
|
set -e
|
||||||
JWT_SECRET_KEY="${{ secrets.TAXBAIK_JWT_SECRET_KEY }}"
|
|
||||||
TELEGRAM_BOT_TOKEN="${{ secrets.TAXBAIK_TELEGRAM_BOT_TOKEN }}"
|
TELEGRAM_BOT_TOKEN="${{ secrets.TAXBAIK_TELEGRAM_BOT_TOKEN }}"
|
||||||
TELEGRAM_CHAT_ID="${{ secrets.TAXBAIK_TELEGRAM_CHAT_ID }}"
|
TELEGRAM_CHAT_ID="${{ secrets.TAXBAIK_TELEGRAM_CHAT_ID }}"
|
||||||
TELEGRAM_INQUIRY_CHAT_ID="${{ secrets.TAXBAIK_TELEGRAM_INQUIRY_CHAT_ID }}"
|
TELEGRAM_INQUIRY_CHAT_ID="${{ secrets.TAXBAIK_TELEGRAM_INQUIRY_CHAT_ID }}"
|
||||||
TELEGRAM_SYSTEM_CHAT_ID="${{ secrets.TAXBAIK_TELEGRAM_SYSTEM_CHAT_ID }}"
|
TELEGRAM_SYSTEM_CHAT_ID="${{ secrets.TAXBAIK_TELEGRAM_SYSTEM_CHAT_ID }}"
|
||||||
[ -z "$JWT_SECRET_KEY" ] && { echo "Missing TAXBAIK_JWT_SECRET_KEY" >&2; exit 1; }
|
JWT_SECRET_KEY="${{ secrets.TAXBAIK_JWT_SECRET_KEY }}"
|
||||||
|
if [ -z "$JWT_SECRET_KEY" ]; then
|
||||||
|
JWT_SECRET_KEY="$(openssl rand -base64 48 | tr -d '\n')"
|
||||||
|
echo "⚠️ TAXBAIK_JWT_SECRET_KEY is missing; generating a one-off production secret for this deploy." >&2
|
||||||
|
fi
|
||||||
[ -z "$TELEGRAM_BOT_TOKEN" ] && { echo "Missing TAXBAIK_TELEGRAM_BOT_TOKEN" >&2; exit 1; }
|
[ -z "$TELEGRAM_BOT_TOKEN" ] && { echo "Missing TAXBAIK_TELEGRAM_BOT_TOKEN" >&2; exit 1; }
|
||||||
[ -z "$TELEGRAM_CHAT_ID" ] && { echo "Missing TAXBAIK_TELEGRAM_CHAT_ID" >&2; exit 1; }
|
[ -z "$TELEGRAM_CHAT_ID" ] && { echo "Missing TAXBAIK_TELEGRAM_CHAT_ID" >&2; exit 1; }
|
||||||
[ -z "$TELEGRAM_INQUIRY_CHAT_ID" ] && TELEGRAM_INQUIRY_CHAT_ID="$TELEGRAM_CHAT_ID"
|
[ -z "$TELEGRAM_INQUIRY_CHAT_ID" ] && TELEGRAM_INQUIRY_CHAT_ID="$TELEGRAM_CHAT_ID"
|
||||||
@@ -109,7 +103,11 @@ jobs:
|
|||||||
import json, os, pathlib
|
import json, os, pathlib
|
||||||
pathlib.Path("./publish/appsettings.Production.json").write_text(
|
pathlib.Path("./publish/appsettings.Production.json").write_text(
|
||||||
json.dumps({
|
json.dumps({
|
||||||
|
"ConnectionStrings": {
|
||||||
|
"Default": "Host=localhost;Database=taxbaikdb;Username=taxbaik;Password=taxbaik123"
|
||||||
|
},
|
||||||
"Jwt": {"SecretKey": os.environ["JWT_SECRET_KEY"]},
|
"Jwt": {"SecretKey": os.environ["JWT_SECRET_KEY"]},
|
||||||
|
"ApiClient": {"BaseUrl": "http://127.0.0.1:5001/api/"},
|
||||||
"Telegram": {
|
"Telegram": {
|
||||||
"BotToken": os.environ["TELEGRAM_BOT_TOKEN"],
|
"BotToken": os.environ["TELEGRAM_BOT_TOKEN"],
|
||||||
"ChatId": os.environ["TELEGRAM_CHAT_ID"],
|
"ChatId": os.environ["TELEGRAM_CHAT_ID"],
|
||||||
|
|||||||
Reference in New Issue
Block a user