name: Host Bot on: push: branches: main schedule: - cron: '0 */5 * * *' workflow_dispatch: release: types: [created, published, released, edited] concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true env: DISCORD_TOKEN: ${{ secrets.DISCORD_TOKEN }} DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }} DATABASE_URL: ${{ secrets.DATABASE_URL }} PUBLIC_ASSET_REPO: ${{ secrets.PUBLIC_ASSET_REPO }} PUBLIC_ASSET_BRANCH: ${{ secrets.PUBLIC_ASSET_BRANCH }} PUBLIC_WARGAMING_APPLICATION_ID: ${{ secrets.PUBLIC_WARGAMING_APPLICATION_ID }} PUBLIC_ASSET_FAST_USER: ${{ secrets.PUBLIC_ASSET_FAST_USER }} PUBLIC_ASSET_FAST_REPO: ${{ secrets.PUBLIC_ASSET_FAST_REPO }} jobs: host: runs-on: ubuntu-latest steps: - uses: oven-sh/setup-bun@v1 - name: Download release assets run: | while true; do DOWNLOAD_URL=$(curl -s https://api.github.com/repos/blitzkit/blitzkit/releases/latest \ | jq -r '.assets[] | select(.name | endswith("bot.zip")) | .browser_download_url') if [[ -n "$DOWNLOAD_URL" ]]; then if curl -fL -o bot.zip "$DOWNLOAD_URL"; then break else echo "Download failed, retrying in 5s..." fi else echo "Download URL not found, retrying in 5s..." fi sleep 5 done mkdir -p dist/bot unzip bot.zip -d dist/bot - name: Install sharp run: bun init -y && bun add sharp - name: Move directories run: mv dist/bot/prisma . - name: Run bot run: bun run dist/bot/main.js