Skip to main content
Glama
deploy-stack.yml3.59 kB
name: Deploy Services run-name: Deploy to ${{ inputs.environment }} by @${{ github.actor }} on: workflow_call: inputs: environment: type: string default: "tools" version: type: string default: "stable" wait_duration: type: number default: 0 workflow_dispatch: inputs: environment: type: choice required: true description: "Where to deploy" default: "tools" options: - tools - production - perf version: type: string required: true description: "version to deploy" default: "stable" wait_duration: type: number required: false description: "How long to wait before deploying" default: 0 # We only one one deploy happening at a time per environment, so if one is # in progress, we'll wait for it to finish before starting the # next one. # Note that this will also wait for E2E tests to finish, as per the crons workflows concurrency: group: deploy-${{ inputs.environment }} cancel-in-progress: false jobs: wait: name: wait runs-on: ubuntu-latest steps: - name: wait run: | echo "Sleeping for ${{ inputs.wait_duration }}" sleep ${{ inputs.wait_duration }} invoke-and-check-cdn: uses: ./.github/workflows/invoke-and-check-invalidations.yml with: environment: shared secrets: inherit set-service-versions: uses: ./.github/workflows/set-service-version.yml needs: - invoke-and-check-cdn strategy: fail-fast: false matrix: service: ["pinga", "rebaser", "sdf", "forklift", "veritech", "edda", "luminork"] with: environment: ${{ inputs.environment }} service: ${{ matrix.service }} version: ${{ inputs.version }} secrets: inherit set-maintenance-mode: needs: - set-service-versions - wait uses: ./.github/workflows/set-maintenance-mode.yml with: environment: ${{ inputs.environment }} secrets: inherit upgrade-web: needs: - set-maintenance-mode uses: ./.github/workflows/upgrade-web.yml with: environment: ${{ inputs.environment }} secrets: inherit upgrade: # the backend services needs: - set-service-versions - set-maintenance-mode strategy: fail-fast: false matrix: service: ["pinga", "rebaser", "forklift", "veritech", "edda", "luminork"] uses: ./.github/workflows/upgrade-service.yml with: environment: ${{ inputs.environment }} service: ${{ matrix.service }} secrets: inherit upgrade-and-migrate-sdf: needs: - upgrade uses: ./.github/workflows/migrate-sdf.yml with: environment: ${{ inputs.environment }} secrets: inherit sleep-between: if: ${{ inputs.environment != 'tools' }} name: Wait for 10 minutes needs: upgrade-and-migrate-sdf runs-on: ubuntu-latest steps: - name: Sleep for 10 minutes run: sleep 600 e2e-validation: if: ${{ inputs.environment != 'tools' }} needs: - upgrade-web - sleep-between uses: ./.github/workflows/e2e-validation.yml with: environment: ${{ inputs.environment }} test_dir: cypress/e2e secrets: inherit api-test: if: ${{ inputs.environment != 'tools' }} needs: - upgrade-web - sleep-between uses: ./.github/workflows/run-api-test.yml with: environment: ${{ inputs.environment }} secrets: inherit

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/systeminit/si'

If you have feedback or need assistance with the MCP directory API, please join our Discord server