Rework project structure so it matches the main repo

This commit is contained in:
Jon Koops 2023-03-07 11:46:43 +01:00
parent dca0cc4139
commit ec8e24c550
No known key found for this signature in database
1305 changed files with 3 additions and 1943 deletions

View File

@ -1,44 +0,0 @@
name: Bug Report
description: Report a non-security sensitive bug in Keycloak
labels: ["kind/bug", "status/triage"]
body:
- type: textarea
attributes:
label: Describe the bug
description: Provide a clear and concise description of what the problem is.
validations:
required: true
- type: input
attributes:
label: Version
description: What version of Keycloak are you running?
- type: input
attributes:
label: Environment
description: What is your environment? (e.g. Browser [chrome, safari] - version [22]
validations:
required: false
- type: textarea
attributes:
label: Expected behavior
description: Describe the expected behavior clearly and concisely.
validations:
required: false
- type: textarea
attributes:
label: Actual behavior
description: Describe the actual behavior clearly and concisely.
validations:
required: false
- type: textarea
attributes:
label: How to Reproduce?
description: Provide clear and concise steps to reproduce the problem.
validations:
required: false
- type: textarea
attributes:
label: Anything else?
description: Links? References? Anything that will give us more context about the issue you are encountering!
validations:
required: false

View File

@ -1,11 +0,0 @@
blank_issues_enabled: false
contact_links:
- name: Discussions
url: https://github.com/keycloak/keycloak/discussions
about: Propose new ideas, provide feedback, or ask for help here
- name: User mailing list
url: https://groups.google.com/forum/#!forum/keycloak-user
about: Ask and answer questions here
- name: Developer mailing list
url: https://groups.google.com/forum/#!forum/keycloak-dev
about: Propose new features and join in design discussions here

View File

@ -1,31 +0,0 @@
name: Enhancement Request
description: Request an enhancement to an existing feature
labels: ["kind/enhancement", "status/triage"]
body:
- type: textarea
attributes:
label: Description
description: Describe the enhancement at a high-level.
validations:
required: true
- type: input
attributes:
label: Discussion
description: |
If there has been a discussion around the enhancement, provide a link to the discussion.
Please note that larger enhancements should be discussed through [GitHub Discussion](https://github.com/keycloak/keycloak/discussions/categories/ideas).
validations:
required: false
- type: textarea
attributes:
label: Motivation
description: Describe why the feature should be added.
validations:
required: false
- type: textarea
attributes:
label: Details
description: More details? Implementation ideas? Anything that will give us more context about the enhancement you are proposing!
validations:
required: false

View File

@ -1,32 +0,0 @@
name: Epic
description: A large feature that is broken down into multiple linked issues.
labels: ["kind/epic", "status/triage"]
body:
- type: textarea
attributes:
label: Description
description: Describe the feature at a high-level.
validations:
required: true
- type: input
attributes:
label: Discussion
description: |
Provide a link to the GitHub Discussion for the feature.
validations:
required: true
- type: textarea
attributes:
label: Issues
description: List the issues related to this epic.
placeholder: |
- #1
- #2
validations:
required: false
- type: textarea
attributes:
label: Motivation
description: Provide a brief explanation of why the feature should be added.
validations:
required: false

View File

@ -1,31 +0,0 @@
name: Feature Request
description: Request a new feature to be added to Keycloak
labels: ["kind/feature", "status/triage"]
body:
- type: textarea
attributes:
label: Description
description: Describe the feature at a high-level.
validations:
required: true
- type: input
attributes:
label: Discussion
description: |
If there has been a discussion around the feature, provide a link to the discussion.
Please note that all, except small requests, should be discussed through [GitHub Discussion](https://github.com/keycloak/keycloak/discussions/categories/ideas).
validations:
required: false
- type: textarea
attributes:
label: Motivation
description: Describe why the feature should be added.
validations:
required: false
- type: textarea
attributes:
label: Details
description: Design ideas? Implementation ideas? Anything that will give us more context about the feature you are proposing!
validations:
required: false

View File

@ -1,25 +0,0 @@
version: 2
updates:
- package-ecosystem: npm
directory: /
open-pull-requests-limit: 999
rebase-strategy: disabled
versioning-strategy: increase
schedule:
interval: weekly
labels:
- area/dependencies
- package-ecosystem: maven
directory: keycloak-theme
open-pull-requests-limit: 999
rebase-strategy: disabled
schedule:
interval: weekly
labels:
- area/dependencies
- package-ecosystem: github-actions
directory: /
open-pull-requests-limit: 999
rebase-strategy: disabled
schedule:
interval: weekly

View File

@ -1,5 +0,0 @@
<!--
This repository contains the pre-release Admin Console for Keycloak which is still in development and not enabled by default. If you are looking to report an issue with the released Keycloak Admin Console or other parts of Keycloak, please consult the Keycloak Community (https://www.keycloak.org/community) page to find the correct place to start your discussion.
Before submitting an issue, please verify that your issue hasn't already been resolved by testing it on a nightly version of Keycloak: https://github.com/keycloak/keycloak/releases/tag/nightly
-->

View File

@ -1,37 +0,0 @@
## Motivation
<!-- Add references to relevant tickets, issues, design specs and/or a short description of what motivated you to do it. -->
## Brief Description
<!-- Add a short answer for:
What was done in this PR? (e.g Fix to prevent users from accessing feature X.)
Why it was done? (e.g Feature X was deprecated.)
-->
## Verification Steps
<!--
Add the steps required to verify this change. Keep in mind that these steps should be written so groups unfamiliar with the
new functionality can follow them, such as QE or documentation.
1. Go to `XX >> YY >> SS`.
2. Create a new item `N` with info `X`.
3. Right-click the item and select Delete.
4. Verify that the item is no longer present in the left navigation menu.
-->
## Checklist:
- [ ] Code has been tested locally by PR requester
- [ ] User-visible strings are using the react-i18next framework (useTranslation)
- [ ] Help has been implemented
- [ ] Axe check has been run and resulting a11y issues have been resolved
- [ ] Manual keyboard and screen reader checks have been run and resulting a11y issues have been resolved
- [ ] Unit tests have been created/updated
## Additional Notes
<!--
Add images and/or screen caps to illustrate what was changed if this pull request adds to or modifies existing user-visible appearance/output.
-->

View File

@ -1,35 +0,0 @@
name: CodeQL
on:
schedule:
- cron: "0 2 * * *"
env:
NODE_VERSION: 18
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
security-events: write
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: javascript
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
check-latest: true
cache: npm
- name: Install dependencies
run: npm ci
- name: Run build task
run: npm run build --workspace=admin-ui
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

View File

@ -1,148 +0,0 @@
name: Cypress
on:
push:
branches: [main, release/**]
pull_request:
branches: [main, release/**]
schedule:
- cron: '0 4 * * *'
workflow_dispatch:
inputs:
keycloakRepo:
description: The location of the Keycloak repo (e.g. keycloak/keycloak).
required: false
keycloakBranch:
description: The branch to check out for the Keycloak repo (e.g. main).
required: false
concurrency:
# Only cancel jobs for new commits on PRs, and always do a complete run on other branches (e.g. `main`).
# See: https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
group: cypress-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
build-keycloak:
if: ${{ github.event_name != 'schedule' }}
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
path: admin-ui-repo
- name: Check out Keycloak Server
uses: actions/checkout@v3
with:
repository: ${{ inputs.keycloakRepo || 'keycloak/keycloak' }}
ref: ${{ inputs.keycloakBranch || (contains(github.ref, 'release/') && github.ref || 'main') }}
path: keycloak-repo
- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 11
check-latest: true
cache: maven
- name: Build Admin UI
working-directory: admin-ui-repo
run: mvn clean install --batch-mode --file keycloak-theme/pom.xml
- name: Build Keycloak Server
working-directory: keycloak-repo
run: |
mvn clean install --no-snapshot-updates --batch-mode --errors -DskipTests -DskipCommon -DskipAccount2 -Pdistribution
mv quarkus/dist/target/keycloak-999.0.0-SNAPSHOT.tar.gz ../keycloak-999.0.0-SNAPSHOT.tar.gz
- name: Upload Keycloak server
uses: actions/upload-artifact@v3
with:
name: keycloak
path: keycloak-999.0.0-SNAPSHOT.tar.gz
install-nightly:
if: ${{ github.event_name == 'schedule' }}
runs-on: ubuntu-latest
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Download Keycloak
id: extract-server
run: |
gh release -R keycloak/keycloak download nightly -p keycloak-999.0.0-SNAPSHOT.tar.gz
- name: Upload Keycloak server
uses: actions/upload-artifact@v3
with:
name: keycloak
path: keycloak-999.0.0-SNAPSHOT.tar.gz
test:
needs: [build-keycloak, install-nightly]
if: always() && ( needs.build-keycloak.result == 'success' || needs.install-nightly.result == 'success' )
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
container: [1, 2, 3, 4, 5]
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: 18
check-latest: true
cache: npm
- name: Install dependencies
run: npm ci
- name: Compile Admin Client
run: npm run build --workspace=@keycloak/keycloak-admin-client
- name: Restore Keycloak server
uses: actions/download-artifact@v3
with:
name: keycloak
- name: Start LDAP server
run: npm run cy:ldap-server &
working-directory: apps/admin-ui
- name: Start Keycloak Server
run: |
tar xfvz keycloak-999.0.0-SNAPSHOT.tar.gz
keycloak-999.0.0-SNAPSHOT/bin/kc.sh start-dev --features=admin2,admin-fine-grained-authz,declarative-user-profile &> ~/server.log &
env:
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
- name: Install Google Chrome
uses: abhi1693/setup-browser@v0.3.5
with:
browser: chrome
version: latest
- name: Run Cypress
uses: cypress-io/github-action@v5
continue-on-error: true
with:
install: false
record: true
parallel: true
browser: chrome
wait-on: http://localhost:8080
working-directory: apps/admin-ui
env:
CYPRESS_BASE_URL: http://localhost:8080/admin/
CYPRESS_KEYCLOAK_SERVER: http://localhost:8080
CYPRESS_RECORD_KEY: b8f1d15e-eab8-4ee7-8e44-c6d7cd8fc0eb
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload server logs
uses: actions/upload-artifact@v3
with:
name: server-log-${{ matrix.container }}
path: ~/server.log

View File

@ -1,77 +0,0 @@
name: CI
on:
push:
branches: [main, release/**]
pull_request:
branches: [main, release/**]
concurrency:
# Only cancel jobs for new commits on PRs, and always do a complete run on other branches (e.g. `main`).
# See: https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
group: main-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
env:
NODE_VERSION: 18
jobs:
run:
runs-on: ubuntu-latest
strategy:
matrix:
include:
# Admin UI
- workspace: admin-ui
command: lint
- workspace: admin-ui
command: test
- workspace: admin-ui
command: build
- workspace: admin-ui
command: cy:check-types
- workspace: admin-ui
command: cy:run-component
# Account UI
- workspace: account-ui
command: lint
- workspace: account-ui
command: build
# Keycloak Admin Client
- workspace: "@keycloak/keycloak-admin-client"
command: lint
- workspace: "@keycloak/keycloak-admin-client"
command: build
# Keycloak Masthead
- workspace: keycloak-masthead
command: lint
- workspace: keycloak-masthead
command: build
steps:
- name: Check out repository
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
check-latest: true
cache: npm
- name: Install dependencies
run: npm ci
- name: Set up Node
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
- name: Run ${{ matrix.command }} task
run: npm run ${{ matrix.command }} --workspace=${{ matrix.workspace }}
dependabot:
needs: [run]
permissions: write-all
runs-on: ubuntu-latest
if: ${{ github.actor == 'dependabot[bot]' && github.event_name == 'pull_request' }}
steps:
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge ${{ github.event.number }} --auto --squash --repo ${{ github.repository }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

1
.husky/.gitignore vendored
View File

@ -1 +0,0 @@
_

View File

@ -1,4 +0,0 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx lint-staged

View File

@ -1,6 +0,0 @@
# Maintainers
- [Stan Silvert](https://github.com/ssilvert) (project lead)
- [Erik Jan de Wit](https://github.com/edewit)
- [Agnieszka Gancarczyk](https://github.com/agagancarczyk)
- [Jon Koops](https://github.com/jonkoops)

View File

@ -1,3 +0,0 @@
#!/bin/bash -e
mvn --file=./keycloak-theme/pom.xml help:evaluate -Dexpression=project.version -q -DforceStdout

View File

View File

@ -1,8 +1,8 @@
# Keycloak UI
# Keycloak JavaScript
This repository contains the UIs and related libraries of the Keycloak project.
This directory contains the UIs and related libraries of the Keycloak project written in JavaScript (and TypeScript).
## Repository structure
## Directory structure
├── apps
│ ├── account-ui # Account UI for account management i.e controlling password and account access, tracking and managing permissions
@ -19,7 +19,3 @@ This repository contains the UIs and related libraries of the Keycloak project.
## Data processing
Red Hat may process information including business contact information and code contributions as part of its participation in the project, data is processed in accordance with [Red Hat Privacy Statement](https://www.redhat.com/en/about/privacy-policy).
## License
- [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0)

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Some files were not shown because too many files have changed in this diff Show More