Update quay.io/keycloak/keycloak Docker tag to v26 #21
This file contains 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
# This workflow uses actions that are not certified by GitHub. | |
# They are provided by a third-party and are governed by | |
# separate terms of service, privacy policy, and support | |
# documentation. | |
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time | |
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle | |
name: Java CI with Gradle | |
on: | |
push: | |
branches: [ "**" ] | |
pull_request: | |
branches: [ "**" ] | |
permissions: | |
contents: read | |
actions: read | |
checks: write | |
security-events: write | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
GRADLE_OPTS: -Dorg.gradle.jvmargs="-XX:MaxMetaspaceSize=1g -Xmx1024m" | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: sandbox | |
POSTGRES_DB: sandbox | |
POSTGRES_PASSWORD: sandbox | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 1s | |
--health-timeout 5s | |
--health-retries 50 | |
ports: | |
- 5432:5432 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
with: | |
cache-disabled: true | |
build-scan-publish: true | |
build-scan-terms-of-use-url: "https://gradle.com/terms-of-service" | |
build-scan-terms-of-use-agree: "yes" | |
- name: Setup default http server | |
run: | | |
docker run -p 4200:80 -P -d nginxdemos/hello:plain-text | |
- name: Core gradle info | |
run: | | |
./gradlew -v | |
./gradlew jvmArgs sysProps | |
- name: Grails info | |
run: | | |
./grailsw -v | |
- name: License header check | |
run: | | |
./gradlew license | |
- name: Unit Tests | |
run: ./gradlew test --no-daemon --stacktrace -Duser.language=en -Duser.country=GB | |
- name: Unit Test Report | |
uses: dorny/test-reporter@v1 | |
if: success() || failure() | |
with: | |
name: Unit Test Results | |
path: '**/build/test-results/test/*.xml' | |
reporter: java-junit | |
list-tests: 'failed' | |
- name: Set up Keycloak Docker | |
working-directory: ./dockerfiles | |
run: | | |
docker build --tag=keycloak-mdm:latest . | |
./start-keycloak.sh | |
- name: Integration Tests | |
run: | | |
./gradlew integrationTest | |
- name: Integration Test Report | |
uses: dorny/test-reporter@v1 | |
if: success() || failure() | |
with: | |
name: Integration Test Results | |
path: '**/build/test-results/integrationTest/*.xml' | |
reporter: java-junit | |
list-tests: 'failed' | |
- name: MegaLinter | |
uses: oxsecurity/megalinter/flavors/ci_light@v8 | |
env: | |
# All available variables are described in documentation | |
# https://megalinter.io/configuration/ | |
VALIDATE_ALL_CODEBASE: true | |
ENABLE_LINTERS: GROOVY_NPM_GROOVY_LINT | |
LINTER_RULES_PATH: 'config/codenarc' | |
DISABLE_ERRORS: true #Flag to have the linter complete with exit code 0 even if errors were detected. | |
SARIF_REPORTER: true | |
# This is currently too big for the security tab | |
# - name: Upload MegaLinter scan results to GitHub Security tab | |
# if: success() || failure() | |
# uses: github/codeql-action/upload-sarif@v2 | |
# with: | |
# sarif_file: 'megalinter-reports/megalinter-report.sarif' | |
# Upload MegaLinter artifacts | |
- name: Archive lint reports | |
if: success() || failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: MegaLinter reports | |
path: | | |
megalinter-reports | |
mega-linter.log | |
- name: Publish Snapshot to Mauro Snapshot Repository | |
if: success() && github.ref == 'refs/heads/develop' | |
run: | | |
./gradlew --stacktrace -PMauroSnapshotRepositoryUsername=${{secrets.MAURO_SNAPSHOT_REPOSITORY_USERNAME}} -PMauroSnapshotRepositoryPassword=${{secrets.MAURO_SNAPSHOT_REPOSITORY_PASSWORD}} publishAllPublicationsToMauroSnapshotRepositoryRepository | |
- name: Send a stream message | |
if: success() || failure() | |
uses: zulip/github-actions-zulip/send-message@v1 | |
with: | |
api-key: ${{ secrets.ZULIP_API_KEY }} | |
email: "[email protected]" | |
organization-url: "https://maurodatamapper.zulipchat.com" | |
to: "build/github-actions" | |
type: "stream" | |
topic: "${{github.repository}}" | |
content: "${{ job.status == 'success' && ':check_mark:' || ':cross_mark:' }} ${{github.repository}} : **${{github.ref}}**\nGitHub Actions build result: **${{ job.status }}**\n${{ github.event.pull_request.html_url || github.event.head_commit.url }}" |