Skip to content

Merge pull request #6 from rcodyp/main #19

Merge pull request #6 from rcodyp/main

Merge pull request #6 from rcodyp/main #19

name: Deploy Services to Fly.io
on:
push:
branches: [main]
tags: ['v*']
workflow_dispatch:
permissions:
contents: read
concurrency:
group: deploy-fly-${{ github.ref_name }}
cancel-in-progress: false
jobs:
deploy-registry:
name: Deploy mesh-registry
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup flyctl
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy registry to Fly.io
run: flyctl deploy --remote-only
working-directory: registry
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
deploy-packages-website:
name: Deploy mesh-packages website
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup flyctl
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy packages website to Fly.io
run: flyctl deploy --remote-only
working-directory: packages-website
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
deploy-hyperpush-landing:
name: Deploy hyperpush landing
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup flyctl
uses: superfly/flyctl-actions/setup-flyctl@master
- name: Deploy landing to Fly.io
run: flyctl deploy --remote-only
working-directory: mesher/landing
env:
FLY_API_TOKEN: ${{ secrets.FLY_API_TOKEN }}
health-check:
name: Post-deploy health checks
needs: [deploy-registry, deploy-packages-website, deploy-hyperpush-landing]
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Verify public surface contract
shell: bash
timeout-minutes: 8
run: |
set -euo pipefail
python3 scripts/lib/m034_public_surface_contract.py public-http --root "$GITHUB_WORKSPACE" --artifact-dir "$RUNNER_TEMP/m034-public-surface-contract"
- name: Verify hyperpush landing
shell: bash
timeout-minutes: 5
run: |
set -euo pipefail
curl -fsSL https://hyperpush-landing.fly.dev > "$RUNNER_TEMP/hyperpush-landing.html"
grep -q "hyperpush" "$RUNNER_TEMP/hyperpush-landing.html"
grep -q "Open Source Error Tracking" "$RUNNER_TEMP/hyperpush-landing.html"