Files
2024-04-24 14:44:19 +00:00

56 lines
2.5 KiB
YAML

name: Deploy
on:
push:
branches:
- main
repository_dispatch:
schedule:
- cron: '0 0 1 * *'
jobs:
deploy:
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v4.0.2
with:
node-version: latest
- run: yarn install
- run: yarn build
env:
NODE_ENV: production
- name: Publish
uses: buberdds/wrangler-action@2.0.0
with:
apiToken: ${{ secrets.CF_API_TOKEN }}
preCommands: |
wrangler kv:namespace create KV_STATUS_PAGE || true
[ -z "$SECRET_SLACK_WEBHOOK_URL" ] && echo "Secret SECRET_SLACK_WEBHOOK_URL not set, creating dummy one..." && SECRET_SLACK_WEBHOOK_URL="default-gh-action-secret" || true
[ -z "$SECRET_TELEGRAM_API_TOKEN" ] && echo "Secret SECRET_TELEGRAM_API_TOKEN not set, creating dummy one..." && SECRET_TELEGRAM_API_TOKEN="default-gh-action-secret" || true
[ -z "$SECRET_TELEGRAM_CHAT_ID" ] && echo "Secret SECRET_TELEGRAM_CHAT_ID not set, creating dummy one..." && SECRET_TELEGRAM_CHAT_ID="default-gh-action-secret" || true
[ -z "$SECRET_DISCORD_WEBHOOK_URL" ] && echo "Secret SECRET_DISCORD_WEBHOOK_URL not set, creating dummy one..." && SECRET_DISCORD_WEBHOOK_URL="default-gh-action-secret" || true
[ -z "$KV_NAMESPACE_ID" ] && echo "Secret KV_NAMESPACE_ID not set, creating dummy one..." && KV_NAMESPACE_ID="372049296f6f43b0a9b27e53ee6c1f56" || true
[ -z "$CF_API_TOKEN" ] && echo "Secret CF_API_TOKEN not set, creating dummy one..." && CF_API_TOKEN="default-gh-action-secret" || true
[ -z "$CF_ACCOUNT_ID" ] && echo "Secret CF_ACCOUNT_ID not set, creating dummy one..." && CF_ACCOUNT_ID="default-gh-action-secret" || true
postCommands: |
yarn kv-gc
secrets: |
SECRET_SLACK_WEBHOOK_URL
SECRET_TELEGRAM_API_TOKEN
SECRET_TELEGRAM_CHAT_ID
KV_NAMESPACE_ID
CF_API_TOKEN
CF_ACCOUNT_ID
environment: production
env:
SSH_KEY: ${{secrets.SSH_KEY}}
KV_NAMESPACE_ID: "372049296f6f43b0a9b27e53ee6c1f56"
CF_API_TOKEN: ${{ secrets.CF_API_TOKEN }}
CF_ACCOUNT_ID: ${{ secrets.CF_ACCOUNT_ID }}
SECRET_SLACK_WEBHOOK_URL: ${{secrets.SECRET_SLACK_WEBHOOK_URL}}
SECRET_TELEGRAM_API_TOKEN: ${{secrets.SECRET_TELEGRAM_API_TOKEN}}
SECRET_TELEGRAM_CHAT_ID: ${{secrets.SECRET_TELEGRAM_CHAT_ID}}
SECRET_DISCORD_WEBHOOK_URL: ${{secrets.SECRET_DISCORD_WEBHOOK_URL}}