Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 18 additions & 44 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ jobs:
deploy:
runs-on: ubuntu-latest
env:
COUNCIL_PLATFORM_URL: "${{ secrets.COUNCIL_PLATFORM_URL }}"
STELLAR_NETWORK: "${{ secrets.STELLAR_NETWORK }}"
RPC_URL: "${{ secrets.RPC_URL }}"
NETWORK_DASHBOARD_PLATFORM_URL: "${{ secrets.NETWORK_DASHBOARD_PLATFORM_URL }}"
steps:
- uses: actions/checkout@v4

Expand All @@ -21,32 +19,21 @@ jobs:
- name: Validate testnet config inputs
run: |
set -euo pipefail
for var in COUNCIL_PLATFORM_URL STELLAR_NETWORK RPC_URL; do
if [ -z "${!var}" ]; then
echo "::error::Required env var $var is empty"
exit 1
fi
done
case "$STELLAR_NETWORK" in
testnet|mainnet) ;;
*) echo "::error::STELLAR_NETWORK must be 'testnet' or 'mainnet' (got: $STELLAR_NETWORK)"; exit 1 ;;
if [ -z "$NETWORK_DASHBOARD_PLATFORM_URL" ]; then
echo "::error::NETWORK_DASHBOARD_PLATFORM_URL is empty"
exit 1
fi
case "$NETWORK_DASHBOARD_PLATFORM_URL" in
https://*) ;;
*) echo "::error::NETWORK_DASHBOARD_PLATFORM_URL must start with https:// (got: $NETWORK_DASHBOARD_PLATFORM_URL)"; exit 1 ;;
esac
for var in COUNCIL_PLATFORM_URL RPC_URL; do
val="${!var}"
case "$val" in
https://*) ;;
*) echo "::error::$var must start with https:// (got: $val)"; exit 1 ;;
esac
done

- name: Generate production config
run: |
deno eval "
const config = {
environment: 'production',
stellarNetwork: Deno.env.get('STELLAR_NETWORK'),
rpcUrl: Deno.env.get('RPC_URL'),
councilPlatformUrl: Deno.env.get('COUNCIL_PLATFORM_URL'),
networkDashboardPlatformUrl: Deno.env.get('NETWORK_DASHBOARD_PLATFORM_URL'),
};
Deno.writeTextFileSync('public/config.js',
'window.__DASHBOARD_CONFIG__ = ' + JSON.stringify(config, null, 2) + ';\n');
Expand All @@ -72,9 +59,7 @@ jobs:
runs-on: ubuntu-latest
environment: mainnet
env:
COUNCIL_PLATFORM_URL: "${{ secrets.MAINNET_COUNCIL_PLATFORM_URL }}"
STELLAR_NETWORK: "${{ secrets.MAINNET_STELLAR_NETWORK }}"
RPC_URL: "${{ secrets.MAINNET_RPC_URL }}"
NETWORK_DASHBOARD_PLATFORM_URL: "${{ secrets.MAINNET_NETWORK_DASHBOARD_PLATFORM_URL }}"
steps:
- uses: actions/checkout@v4

Expand All @@ -85,32 +70,21 @@ jobs:
- name: Validate mainnet config inputs
run: |
set -euo pipefail
for var in COUNCIL_PLATFORM_URL STELLAR_NETWORK RPC_URL; do
if [ -z "${!var}" ]; then
echo "::error::Required env var $var is empty"
exit 1
fi
done
case "$STELLAR_NETWORK" in
testnet|mainnet) ;;
*) echo "::error::STELLAR_NETWORK must be 'testnet' or 'mainnet' (got: $STELLAR_NETWORK)"; exit 1 ;;
if [ -z "$NETWORK_DASHBOARD_PLATFORM_URL" ]; then
echo "::error::MAINNET_NETWORK_DASHBOARD_PLATFORM_URL is empty"
exit 1
fi
case "$NETWORK_DASHBOARD_PLATFORM_URL" in
https://*) ;;
*) echo "::error::MAINNET_NETWORK_DASHBOARD_PLATFORM_URL must start with https:// (got: $NETWORK_DASHBOARD_PLATFORM_URL)"; exit 1 ;;
esac
for var in COUNCIL_PLATFORM_URL RPC_URL; do
val="${!var}"
case "$val" in
https://*) ;;
*) echo "::error::$var must start with https:// (got: $val)"; exit 1 ;;
esac
done

- name: Generate mainnet config
run: |
deno eval "
const config = {
environment: 'production',
stellarNetwork: Deno.env.get('STELLAR_NETWORK'),
rpcUrl: Deno.env.get('RPC_URL'),
councilPlatformUrl: Deno.env.get('COUNCIL_PLATFORM_URL'),
networkDashboardPlatformUrl: Deno.env.get('NETWORK_DASHBOARD_PLATFORM_URL'),
};
Deno.writeTextFileSync('public/config.js',
'window.__DASHBOARD_CONFIG__ = ' + JSON.stringify(config, null, 2) + ';\n');
Expand Down
8 changes: 3 additions & 5 deletions deno.json
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
{
"version": "0.2.10",
"version": "0.2.11",
"license": "MIT",
"tasks": {
"dev": "deno run --allow-all --watch src/server.ts",
"build": "deno run --allow-all src/build.ts",
"serve": "deno run --allow-all src/server.ts",
"test": "deno test --allow-all src/",
"check": "deno check src/server.ts src/build.ts src/app.ts src/lib/*.ts src/views/*.ts src/components/*.ts",
"check": "deno check src/server.ts src/build.ts src/app.ts src/lib/*.ts src/views/*.ts",
"lint": "deno lint src/",
"fmt": "deno fmt src/",
"fmt:check": "deno fmt --check src/"
Expand All @@ -17,8 +17,6 @@
},
"imports": {
"@std/path": "jsr:@std/path@^1.0.0",
"@std/assert": "jsr:@std/assert@^1.0.0",
"stellar-sdk": "npm:@stellar/stellar-sdk@^15.0.1",
"@moonlight/ui/nav": "https://raw.githubusercontent.com/Moonlight-Protocol/ui/v0.3.1/src/nav/mod.ts"
"@std/assert": "jsr:@std/assert@^1.0.0"
}
}
Loading
Loading