Skip to content

Add support for client policy and client profile on realms #528

Add support for client policy and client profile on realms

Add support for client policy and client profile on realms #528

Workflow file for this run

name: test
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
verify:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
with:
fetch-depth: 2 # we want the HEAD commit and the previous commit to compare changed files
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version-file: 'go.mod'
cache: true
- name: Verify
run: |
go mod download
make vet
make fmtcheck
# we only want to run tests if any code changes (not for README or docs changes)
- name: Check Changed Files
id: files
uses: tj-actions/[email protected]
with:
files: |
.github
go.mod
go.sum
main.go
keycloak
provider
scripts
outputs:
code-files-changed: steps.files.outputs.any_changed
acceptance:
# this conditional is more verbose than I'd like it to be
# https://github.com/actions/runner/issues/491
if: |
always() &&
!cancelled() &&
!contains(needs.verify.result, 'failure') &&
!contains(needs.verify.result, 'cancelled') &&
(needs.verify.outputs.code-files-changed || startsWith(github.ref, 'refs/tags/v'))
needs:
- verify
runs-on: ubuntu-latest
strategy:
matrix:
keycloak-version:
- '21.0.1'
- '20.0.5'
- '19.0.2'
fail-fast: false
concurrency:
group: ${{ github.head_ref || github.run_id }}-${{ matrix.keycloak-version }}
cancel-in-progress: true
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version-file: 'go.mod'
cache: true
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
with:
terraform_wrapper: false
terraform_version: 1.9.5
- name: Start Keycloak Container
run: |
docker run -d --name keycloak \
-p 8080:8080 \
-e KC_DB=dev-mem \
-e KC_LOG_LEVEL=INFO \
-e KEYCLOAK_ADMIN=keycloak \
-e KEYCLOAK_ADMIN_PASSWORD=password \
-e KC_FEATURES=preview \
-v $PWD/provider/misc:/opt/keycloak/misc:z \
quay.io/keycloak/keycloak:${{ matrix.keycloak-version }} start-dev
- name: Initialize Keycloak
run: ./scripts/wait-for-local-keycloak.sh && ./scripts/create-terraform-client.sh
- name: Get Keycloak Version
uses: actions/github-script@v6
id: keycloak-version
env:
KEYCLOAK_VERSION: ${{ matrix.keycloak-version }}
with:
script: |
return process.env.KEYCLOAK_VERSION.split("-")[0]
- name: Test
run: |
go mod download
make testacc
env:
KEYCLOAK_CLIENT_ID: terraform
KEYCLOAK_CLIENT_SECRET: 884e0f95-0f42-4a63-9b1f-94274655669e
KEYCLOAK_CLIENT_TIMEOUT: 30
KEYCLOAK_REALM: master
KEYCLOAK_URL: "http://localhost:8080"
KEYCLOAK_TEST_PASSWORD_GRANT: "true"
KEYCLOAK_VERSION: ${{ steps.keycloak-version.outputs.result }}
timeout-minutes: 60
- name: Clean up
run: |
docker stop keycloak
docker rm keycloak