From 1695a4c0ab4707711565b087188d6ff2e0dbd52d Mon Sep 17 00:00:00 2001 From: Kristaps Berzinch Date: Sun, 10 Mar 2024 15:50:04 -0400 Subject: [PATCH] Add deployment workflow --- .../workflows/deploy-single-environment.yml | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/deploy-single-environment.yml diff --git a/.github/workflows/deploy-single-environment.yml b/.github/workflows/deploy-single-environment.yml new file mode 100644 index 0000000..cdc4bed --- /dev/null +++ b/.github/workflows/deploy-single-environment.yml @@ -0,0 +1,48 @@ +name: Deploy + +on: + workflow_call: + inputs: + environment: + required: true + type: string + workflow_dispatch: + inputs: + environment: + required: true + type: environment + +jobs: + deploy: + name: ${{ inputs.environment }} + environment: + name: ${{ inputs.environment }} + url: ${{ inputs.environment == 'test' && 'https://keycloak-test.robojackets.org' || 'https://keycloak.robojackets.org') }} + permissions: + id-token: write + contents: read + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Nomad + uses: lucasmelin/setup-nomad@v2.0.0 + + - name: Set job name + working-directory: ./.nomad/ + run: | + sed -i '/job "keycloak" {/c\job "keycloak-${{ inputs.environment }}" {' keycloak.nomad + + - name: Exchange GitHub JWT for Nomad token + uses: mikenomitch/nomad-jwt-auth@v0.1.0 + with: + url: https://nomad.bcdc.robojackets.net + jwtGithubAudience: https://nomad.bcdc.robojackets.net + methodName: GitHub + + - name: Run Nomad job + env: + NOMAD_ADDR: https://nomad.bcdc.robojackets.net + run: | + nomad run keycloak.nomad