-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
test: adding PR check scripts, github action and login code, updating…
… tests
- Loading branch information
Showing
16 changed files
with
360 additions
and
451 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
name: Build and Push Base Test Image | ||
|
||
# trigger manually | ||
on: workflow_dispatch | ||
|
||
jobs: | ||
base-image: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout 🛎️ | ||
uses: actions/checkout@v4 | ||
|
||
- name: Build and Push Base Image | ||
env: | ||
USERNAME=${{ secrets.QUAY_BOT_USERNAME }} | ||
TOKEN=${{ secrets.QUAY_BOT_TOKEN }} | ||
run: | | ||
cd e2e-tests | ||
podman login -u="$USERNAME" -p="$TOKEN" quay.io | ||
podman build -t quay.io/konflux_ui_qe/konflux-ui-tests-base:latest -f BaseDockerfile | ||
podman push quay.io/konflux_ui_qe/konflux-ui-tests-base:latest |
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 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,141 @@ | ||
name: PR Check Test | ||
|
||
on: | ||
pull_request_target: | ||
types: [opened, synchronize, reopened, labeled] | ||
|
||
jobs: | ||
# check-org-membership: | ||
# runs-on: ubuntu-latest | ||
# outputs: | ||
# org-member: ${{ steps.org-check.outputs.org-member }} | ||
# steps: | ||
# - name: Check if PR author is a member of the organization | ||
# continue-on-error: true | ||
# id: org-check | ||
# run: | | ||
# ORG="${{ github.repository_owner }}" | ||
# AUTHOR="${{ github.event.pull_request.user.login }}" | ||
# if ! gh api /orgs/$ORG/members/$AUTHOR; then | ||
# echo '### ❌ PR author is not a member of GitHub organization' >> $GITHUB_STEP_SUMMARY | ||
# exit 1 | ||
# fi | ||
# echo "org-member=true" >> $GITHUB_OUTPUT | ||
# env: | ||
# GITHUB_TOKEN: ${{ secrets.HAC_TEST_GH_TOKEN }} | ||
|
||
e2e-test: | ||
# if: ${{ (needs.check-org-membership.outputs.org-member == 'true') || (github.event.pull_request.user.login == 'renovate[bot]') || contains(github.event.pull_request.labels.*.name, 'ok-to-test') }} | ||
# needs: check-org-membership | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Free Disk Space (Ubuntu) | ||
uses: jlumbroso/free-disk-space@main | ||
with: | ||
# this might remove tools that are actually needed, | ||
# if set to "true" but frees about 6 GB | ||
tool-cache: false | ||
docker-images: false | ||
|
||
# konflux-ci is cloned to /home/runner/work/konflux-ui/konflux-ui | ||
# as it have to be at home folder to use helm/kind-action@v1 action | ||
- name: Checkout Repository | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: 'konflux-ci/konflux-ci' | ||
ref: 'main' | ||
|
||
- name: Disable AppArmor | ||
# works around a change in ubuntu 24.04 that restricts Linux namespace access | ||
# for unprivileged users | ||
run: sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 | ||
|
||
- name: Create k8s Kind Cluster | ||
uses: helm/kind-action@v1 | ||
with: | ||
config: kind-config.yaml | ||
|
||
- name: Show version information | ||
run: | | ||
kubectl version | ||
kind version | ||
- name: List namespaces | ||
run: | | ||
kubectl get namespace | ||
- name: Deploying Dependencies | ||
run: | | ||
./deploy-deps.sh | ||
- name: List namespaces | ||
run: | | ||
kubectl get namespace | ||
- name: Wait for the dependencies to be ready | ||
run: | | ||
./wait-for-all.sh | ||
- name: WORKAROUND - Set up tkn cli for the following task | ||
uses: tektoncd/actions/setup-tektoncd-cli@main | ||
with: | ||
version: latest | ||
|
||
- name: WORKAROUND - Remove clair-scan task from docker-pipeline | ||
run: | | ||
./test/e2e/customize-docker-pipeline.sh | ||
- name: Deploying Konflux | ||
run: | | ||
./deploy-konflux.sh | ||
- name: List namespaces | ||
run: | | ||
kubectl get namespace | ||
- name: Deploy test resources | ||
run: | | ||
./deploy-test-resources.sh | ||
- name: Prepare resources for E2E tests | ||
# Sets secrets, deploys image controller and setup smee. | ||
env: | ||
APP_ID: ${{ secrets.GH_APP_ID }} | ||
APP_PRIVATE_KEY: ${{ secrets.GH_APP_PRIVATE_KEY }} | ||
APP_WEBHOOK_SECRET: ${{ secrets.GH_APP_WEBHOOK_SECRET }} | ||
QUAY_ORG: ${{ secrets.QUAY_TEST_ORG }} | ||
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN_TEST }} | ||
SMEE_CHANNEL: ${{ secrets.SMEE_URL }} | ||
run: | | ||
./test/e2e/prepare-e2e.sh | ||
# konflux-ui repo is cloned to /home/runner/work/konflux-ui/konflux-ui/konflux-ui | ||
- name: Checkout Konflux-UI Repository | ||
uses: actions/checkout@v4 | ||
with: | ||
ref: "${{ github.event.pull_request.head.sha }}" | ||
path: 'konflux-ui' | ||
|
||
- name: Install Konflux-UI and run tests | ||
env: | ||
CYPRESS_GH_TOKEN: ${{ secrets.GH_TOKEN }} | ||
TARGET_BRANCH: ${{ github.base_ref }} | ||
PR_NUMBER: ${{ github.event.number }} | ||
HEAD_SHA: "${{ github.event.pull_request.head.sha }}" | ||
CYPRESS_USERNAME: "${{ secrets.CYPRESS_USERNAME }}" | ||
CYPRESS_PASSWORD: "${{ secrets.CYPRESS_PASSWORD }}" | ||
run: | | ||
./konflux-ui/pr_check.sh | ||
- name: Generate error logs | ||
if: ${{ !cancelled() }} | ||
run: | | ||
.generate-err-logs.sh | ||
cp -r konflux-ui/artifacts logs | ||
- name: Archive logs | ||
if: ${{ !cancelled() }} | ||
uses: actions/upload-artifact@v4 | ||
with: | ||
name: logs | ||
path: logs |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Change configs to connect the UI with locally running Konflux | ||
# Mainly for the PR check but can be used locally too | ||
echo "Patching .env and webpack.dev.config.js" | ||
cat > .env << EOL | ||
AUTH_URL=https://127.0.0.1:9443/ | ||
REGISTRATION_URL=https://127.0.0.1:9443/ | ||
PROXY_URL=https://127.0.0.1:9443/ | ||
PROXY_WEBSOCKET_URL=wss://127.0.0.1:9443 | ||
EOL | ||
|
||
# regex cheatsheet | ||
# [^ ].* - take everything before the text but leave spaces | ||
# 0, - replace just the first occurence | ||
# | ||
sed -i "s%[^ ].*\/oauth2\/.*%context: (path) => path.includes('/oauth2/') || path.includes('/idp/'),%g" webpack.dev.config.js | ||
sed -i '0,/autoRewrite: false,/s//autoRewrite: true,/' webpack.dev.config.js | ||
sed -i "s/[^ ].*stone-stg-rh01.*/'localhost:9443',/" webpack.dev.config.js | ||
sed -i "s/[^ ].*stone-stg-rh01.*/'localhost:9443',/" webpack.dev.config.js | ||
sed -i "s/[^ ].*DEV_SERVER_PORT}\/oauth2\`,/\`localhost:\${DEV_SERVER_PORT}\`,/" webpack.dev.config.js | ||
|
||
echo "Patching done, UI is connected to locally running Konflux." |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
ARG DEFAULT_CHROME_VERSION='131.0.6778.139-1' | ||
|
||
FROM cypress/factory:5.1.1 | ||
|
||
RUN apt update && \ | ||
apt install curl jq python3 python3-venv python3-pip xauth skopeo -y | ||
|
||
RUN apt install python3-requests python3-click -y |
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 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 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -133,16 +133,16 @@ export default defineConfig({ | |
}); | ||
|
||
const defaultValues: { [key: string]: string | boolean } = { | ||
KONFLUX_BASE_URL: 'https://prod.foo.redhat.com:1337/preview/application-pipeline', | ||
USERNAME: '', | ||
PASSWORD: '', | ||
KONFLUX_BASE_URL: 'https://localhost:9443', | ||
USERNAME: '[email protected]', | ||
PASSWORD: 'password', | ||
GH_USERNAME: 'hac-test', | ||
GH_PASSWORD: '', | ||
GH_TOKEN: '', | ||
GH_SETUP_KEY: '', | ||
KUBECONFIG: '~/.kube/appstudio-config', | ||
CLEAN_NAMESPACE: 'false', | ||
PR_CHECK: false, | ||
PR_CHECK: '', | ||
PERIODIC_RUN: false, | ||
resolution: 'high', | ||
REMOVE_APP_ON_FAIL: false, | ||
|
@@ -161,8 +161,11 @@ export default defineConfig({ | |
} | ||
|
||
config.env.HAC_WORKSPACE = config.env.USERNAME.toLowerCase(); | ||
config.env.HAC_NAMESPACE = `${config.env.HAC_WORKSPACE}-tenant`; | ||
|
||
if (config.env.PR_CHECK === true) { | ||
config.env.HAC_NAMESPACE = `user-ns1`; | ||
} else { | ||
config.env.HAC_NAMESPACE = `${config.env.HAC_WORKSPACE}-tenant`; | ||
} | ||
if ( | ||
config.env.PR_CHECK === true && | ||
config.reporterOptions.reportportalAgentJsCypressReporterOptions | ||
|
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 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 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 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 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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,7 +9,8 @@ | |
"cypress", | ||
"node", | ||
"cypress-axe" | ||
] | ||
], | ||
"baseUrl": "https://localhost:8080" | ||
}, | ||
"include": [ | ||
"./**/*.ts" | ||
|
Oops, something went wrong.