Merge pull request #6 from rcodyp/main #19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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" |