8000 Update to Keycloak 8.0.0 by jacekkow · Pull Request #31 · Doccrazy/keycloak-protocol-cas · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
This repository was archived by the owner on Oct 12, 2020. It is now read-only.

Update to Keycloak 8.0.0 #31

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
144 changes: 144 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
on:
push:
tags:
- '[0-9]+.*'

name: Release

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- id: checkout
name: Checkout code
uses: actions/checkout@v2

- name: Install Java and Maven
uses: actions/setup-java@v1
with:
java-version: 8

- id: vars
name: Get project variables
run: |
echo -n "::set-output name=keycloakVersion::"
mvn -q help:evaluate -Dexpression=keycloak.version -DforceStdout 2> /dev/null
echo
echo -n "::set-output name=artifactId::"
mvn -q help:evaluate -Dexpression=project.artifactId -DforceStdout 2> /dev/null
echo
echo -n "::set-output name=projectName::"
mvn -q help:evaluate -Dexpression=project.name -DforceStdout 2> /dev/null
echo
echo -n "::set-output name=projectVersion::"
mvn -q help:evaluate -Dexpression=project.version -DforceStdout 2> /dev/null
echo

- name: Build project
run: |
mvn -B test package

- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: jar
path: target/${{ steps.vars.outputs.artifactId }}-${{ steps.vars.outputs.projectVersion }}.jar

outputs:
artifact_id: ${{ steps.vars.outputs.artifactId }}
keycloak_version: ${{ steps.vars.outputs.keycloakVersion }}
project_name: ${{ steps.vars.outputs.projectName }}
project_version: ${{ steps.vars.outputs.projectVersion }}

test:
name: Test
runs-on: ubuntu-latest
needs: build
services:
keycloak:
image: quay.io/keycloak/keycloak:${{ needs.build.outputs.keycloak_version }}
env:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
ports:
- 8080:8080
volumes:
- '${{ github.workspace }}:/workspace'
steps:
- id: checkout
name: Checkout code
uses: actions/checkout@v2

- id: download_artifact
name: Download artifact
uses: actions/download-artifact@v1
with:
name: jar

- id: deploy
name: Deploy artifact
run: |
CONTAINER="${{ job.services.keycloak.id }}"
NAME="${{ needs.build.outputs.artifact_id }}-${{ needs.build.outputs.project_version }}.jar"
FILE="/opt/jboss/keycloak/standalone/deployments/${NAME}"
docker cp "jar/${NAME}" "${CONTAINER}:/tmp/"
docker exec -i "${CONTAINER}" /bin/bash <<EOF
cp "/tmp/${NAME}" "${FILE}"
for i in {1..60}; do
echo -n .
[ -f "${FILE}.deployed" ] && echo && echo "Deployment succeeded!" && exit 0
[ -f "${FILE}.failed" ] && echo && echo "Deployment failed!" && exit 1
sleep 1
done
echo && echo "Deployment timeout!" && exit 1
EOF

- id: configure_keycloak
name: Configure Keycloak
run: |
CONTAINER="${{ job.services.keycloak.id }}"
docker exec -i "${CONTAINER}" /bin/bash <<EOF
/opt/jboss/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password admin
/opt/jboss/keycloak/bin/kcadm.sh create clients -r master -s clientId=test -s protocol=cas -s enabled=true -s publicClient=true \
-s 'redirectUris=["http://localhost/*"]' -s baseUrl=http://localhost -s adminUrl=http://localhost
/opt/jboss/keycloak/bin/kcadm.sh get serverinfo -r master --fields "providers(login-protocol(providers(cas)))" | grep cas
EOF

- id: run_tests
name: Run tests
run: |
integrationTest/suite.sh

release:
name: Release
runs-on: ubuntu-latest
needs: [build, test]
steps:
- id: download_artifact
name: Download artifact
uses: actions/download-artifact@v1
with:
name: jar

- id: create_release
name: Create release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ needs.build.outputs.project_name }} ${{ needs.build.outputs.project_version }}
draft: false
prerelease: false

- id: upload_release
name: Upload release artifact
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: jar/${{ needs.build.outputs.artifact_id }}-${{ needs.build.outputs.project_version }}.jar
asset_name: ${{ needs.build.outputs.artifact_id }}-${{ needs.build.outputs.project_version }}.jar
asset_content_type: application/java-archive
110 changes: 110 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
on:
pull_request:
push:

name: Test

jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- id: checkout
name: Checkout code
uses: actions/checkout@v2

- name: Install Java and Maven
uses: actions/setup-java@v1
with:
java-version: 8

- id: vars
name: Get project variables
run: |
echo -n "::set-output name=keycloakVersion::"
mvn -q help:evaluate -Dexpression=keycloak.version -DforceStdout 2> /dev/null
echo
echo -n "::set-output name=artifactId::"
mvn -q help:evaluate -Dexpression=project.artifactId -DforceStdout 2> /dev/null
echo
echo -n "::set-output name=projectName::"
mvn -q help:evaluate -Dexpression=project.name -DforceStdout 2> /dev/null
echo
echo -n "::set-output name=projectVersion::"
mvn -q help:evaluate -Dexpression=project.version -DforceStdout 2> /dev/null
echo

- name: Build project
run: |
mvn -B test package

- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: jar
path: target/${{ steps.vars.outputs.artifactId }}-${{ steps.vars.outputs.projectVersion }}.jar

outputs:
artifact_id: ${{ steps.vars.outputs.artifactId }}
keycloak_version: ${{ steps.vars.outputs.keycloakVersion }}
project_name: ${{ steps.vars.outputs.projectName }}
project_version: ${{ steps.vars.outputs.projectVersion }}

test:
name: Test
runs-on: ubuntu-latest
needs: build
services:
keycloak:
image: quay.io/keycloak/keycloak:${{ needs.build.outputs.keycloak_version }}
env:
KEYCLOAK_USER: admin
KEYCLOAK_PASSWORD: admin
ports:
- 8080:8080
volumes:
- '${{ github.workspace }}:/workspace'
steps:
- id: checkout
name: Checkout code
uses: actions/checkout@v2

- id: download_artifact
name: Download artifact
uses: actions/download-artifact@v1
with:
name: jar

- id: deploy
name: Deploy artifact
run: |
CONTAINER="${{ job.services.keycloak.id }}"
NAME="${{ needs.build.outputs.artifact_id }}-${{ needs.build.outputs.project_version }}.jar"
FILE="/opt/jboss/keycloak/standalone/deployments/${NAME}"
docker cp "jar/${NAME}" "${CONTAINER}:/tmp/"
docker exec -i "${CONTAINER}" /bin/bash <<EOF
cp "/tmp/${NAME}" "${FILE}"
for i in {1..60}; do
echo -n .
[ -f "${FILE}.deployed" ] && echo && echo "Deployment succeeded!" && exit 0
[ -f "${FILE}.failed" ] && echo && echo "Deployment failed!" && exit 1
sleep 1
done
echo && echo "Deployment timeout!" && exit 1
EOF

- id: configure_keycloak
name: Configure Keycloak
run: |
CONTAINER="${{ job.services.keycloak.id }}"
docker exec -i "${CONTAINER}" /bin/bash <<EOF
/opt/jboss/keycloak/bin/kcadm.sh config credentials --server http://localhost:8080/auth --realm master --user admin --password admin
/opt/jboss/keycloak/bin/kcadm.sh create clients -r master -s clientId=test -s protocol=cas -s enabled=true -s publicClient=true \
-s 'redirectUris=["http://localhost/*"]' -s baseUrl=http://localhost -s adminUrl=http://localhost
/opt/jboss/keycloak/bin/kcadm.sh get serverinfo -r master --fields "providers(login-protocol(providers(cas)))" | grep cas
EOF

- id: run_tests
6698 name: Run tests
run: |
integrationTest/suite.sh
50 changes: 0 additions & 50 deletions .travis.yml

This file was deleted.

0