Skip to content

Deploy Services to Fly.io #12

Deploy Services to Fly.io

Deploy Services to Fly.io #12

Workflow file for this run

name: Deploy Services to Fly.io
on:
push:
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 }}
health-check:
name: Post-deploy health checks
needs: [deploy-registry, deploy-packages-website]
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"