Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Playwright and docker compose integration for Ciricle CI testing #1985

Open
wants to merge 83 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
3df58d2
UI to Playwright Test Migration
Feb 4, 2022
9793c54
Testing the removal of some env variables
ryanrath Oct 31, 2023
020c833
Additional Cleanup
ryanrath Oct 31, 2023
767708c
more code review changes
ryanrath Oct 31, 2023
a356889
Appeasing the style gods
ryanrath Nov 1, 2023
df1f324
more appeasing of the gods
ryanrath Nov 1, 2023
1da5c6f
askdjf
ryanrath Nov 1, 2023
ff124e9
Extracting qa-test-setup.sh into CircleCI config
ryanrath Nov 1, 2023
edba605
Updates for qa tests
ryanrath Nov 1, 2023
938ff2a
lksdjf
ryanrath Nov 1, 2023
8978eb8
updates
ryanrath Nov 1, 2023
eac0935
slkdjf
ryanrath Nov 1, 2023
16e3ff8
Re-adding some circleci steps
ryanrath Nov 1, 2023
5d72366
Additional circleci changes
ryanrath Nov 1, 2023
033997f
alskdjf
ryanrath Nov 1, 2023
7e42dbc
Updates per code review by @aaronweeden
ryanrath Nov 7, 2023
37a48cc
additional changes per @aaronweeden
ryanrath Nov 7, 2023
a3d6ab4
updates
ryanrath Nov 7, 2023
1ac81e6
Update .circleci/config.yml
ryanrath Nov 7, 2023
702abbb
Updates to get things running
ryanrath Feb 6, 2024
094c8ee
Fixing mariadb server config
ryanrath Feb 6, 2024
719736c
Exploring one way of resolving regressiontest failure
spark0r May 8, 2024
d5dfa54
Appeasing the style gods
spark0r May 8, 2024
a33d3d0
Updating docker-compose XDMOD_REALMS
spark0r May 8, 2024
abdac3b
Plotly updates for playwright tests
spark0r May 8, 2024
03b63ae
maybe
spark0r May 8, 2024
a34c0ab
aslkdjhf
spark0r May 8, 2024
c89ffb5
Increase test timeout
spark0r May 8, 2024
f6abfa1
slkdfj
spark0r May 8, 2024
8e5dd8c
I Hate Trello Boards
spark0r May 8, 2024
a0c9f9b
wait for trello some more
spark0r May 8, 2024
29a71c9
getting to the good stuff
spark0r May 8, 2024
1df32fb
disable Trello content tests
spark0r May 9, 2024
fa0a081
Re-jiggering the SSO test
spark0r May 10, 2024
9f2848d
Turning on the other tests now
spark0r May 10, 2024
d85b194
Update branch with ubccr/main
aestoltm Nov 18, 2024
22d2bdd
Use docker exec to perform shell commands
aestoltm Nov 18, 2024
ebcb0f1
Syntax error
aestoltm Nov 18, 2024
f15ea28
Adjust syntax for lines that run multiple commands
aestoltm Nov 18, 2024
aff623a
Specify mongodb version for pecl install
aestoltm Nov 18, 2024
55239fc
Based off CI test results saying it could not find the PHP mongodb mo…
aestoltm Nov 18, 2024
9d12662
Try setting flag causing the error
aestoltm Nov 18, 2024
f21af2d
Remove specified version
aestoltm Nov 20, 2024
9c53ef3
Update docker image to latest
aestoltm Dec 4, 2024
12377fc
Merge branch 'main' into playwright_poc
aestoltm Dec 4, 2024
75d0355
Update branch to 'main'
aestoltm Dec 4, 2024
1516ab0
Remove unused command
aestoltm Dec 4, 2024
44c9f68
Add back command from merge commit
aestoltm Dec 4, 2024
64d38ff
Adjust sorting due to header being place at bottom of data set
aestoltm Dec 4, 2024
0af07f2
Remove unused sort flag
aestoltm Dec 4, 2024
df9f008
Try using newer playwright image
aestoltm Dec 4, 2024
b1ffdd4
Linter fix
aestoltm Dec 4, 2024
681f15a
kept my changes
Feb 18, 2025
52dd17e
updated circleci
Feb 18, 2025
cb1d8b1
playing with config.yml
Feb 18, 2025
c04f86c
updated to root
Feb 18, 2025
97f9eef
added root to buildrpm xdmod
Feb 18, 2025
cf7a7d9
modified setup.sh
Feb 18, 2025
e5043e3
added root to config.yml
Feb 18, 2025
32bf60c
added more root
Feb 18, 2025
ba3a5d1
changed root on playwright
Feb 18, 2025
4c9f9db
update to jammy
Feb 18, 2025
d133cac
added git config
Feb 19, 2025
6ca50b9
added a docker git config
Feb 19, 2025
07248b4
added copy test results to ciricle ci
Feb 19, 2025
d4efc61
change script to exec
Feb 19, 2025
9cf9708
change back
Feb 19, 2025
eff3a25
insert os using shell scriping
Feb 19, 2025
5b46f9f
added quotes and seperated parameters.os from copy test results ainto…
Feb 19, 2025
5d2b35c
added spaces
Feb 19, 2025
1f622ea
adding circle ci string_os
Feb 19, 2025
0bda1df
added list
Feb 19, 2025
971ed4e
removed the script that i made to do ciricle ci stuff
Feb 19, 2025
c9c91f8
removed sphinx_venv
Feb 19, 2025
85a48e7
removed pycache
Feb 19, 2025
66515b0
removed venv from user_manual html
Feb 19, 2025
7c277e4
removed user manual
Feb 19, 2025
2c4cd44
removing cache
Feb 19, 2025
593ff49
removing cache
Feb 19, 2025
b56ac17
removed untracked files and set portal_settings.ini back to default
Feb 19, 2025
fdf736f
removed lock file
Feb 19, 2025
93843eb
added lock file back
Feb 19, 2025
b05fe42
added files back
Feb 19, 2025
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
170 changes: 115 additions & 55 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,103 +7,162 @@ version: 2.1
executors:
rocky8: &rocky8-executor
docker:
- image: tools-ext-01.ccr.xdmod.org/xdmod:x86_64-rockylinux8.9.20231119-v11.0.0-1.0-03
- image: cimg/base:current
jobs:
build:
parameters:
os:
type: executor
install-type:
type: string
string_os:
type: string
executor: << parameters.os >>
environment:
COMPOSER_ALLOW_SUPERUSER: 1
XDMOD_REALMS: 'jobs,storage,cloud,resourcespecifications'
QA_BRANCH: 'v2'
TRAVIS_COMMIT_RANGE: << pipeline.git.base_revision >>..<<pipeline.git.revision>>
XDMOD_IS_CORE: yes
XDMOD_INSTALL_DIR: /xdmod
XDMOD_INSTALL_DIR: /root/xdmod
XDMOD_TEST_MODE: << parameters.install-type >>
steps:
- checkout
- setup_remote_docker
- run:
name: Docker Compose corresponding OS file
command: docker compose -f ~/project/tests/playwright/Docker/docker-compose.yml up -d
- run:
name: install the composer dependencies
command: composer install
name: Generate Key for XDMoD
command: docker exec xdmod openssl genrsa -out /etc/pki/tls/private/localhost.key -rand /proc/cpuinfo:/proc/filesystems:/proc/interrupts:/proc/ioports:/proc/uptime 2048
- run:
name: Create Test Artifact Directories
name: Generate Cert for XDMoD
command: docker exec xdmod /usr/bin/openssl req -new -key /etc/pki/tls/private/localhost.key -x509 -sha256 -days 365 -set_serial $RANDOM -extensions v3_req -out /etc/pki/tls/certs/localhost.crt -subj "/C=XX/L=Default City/O=Default Company Ltd"
- run:
name: Copy Files for Playwright and XDMoD containers
command: |
docker cp ~/project xdmod:/root/xdmod
docker cp ~/project playwright:/root/xdmod
- run:
name: Create test result directories
command: |
rm -rf ~/phpunit
mkdir ~/phpunit
rm -rf /tmp/screenshots
mkdir /tmp/screenshots
- run:
name: Create Test Artifact Directories in XDMoD
command: |
docker exec xdmod mkdir /root/phpunit
docker exec xdmod mkdir /tmp/screenshots
- run:
name: Install XDMoD Composer Dependencies
command: docker exec -w /root/xdmod xdmod composer install
- run:
name: Build XDMoD RPM
command: ~/bin/buildrpm xdmod
command: docker exec -w /root/xdmod xdmod /root/bin/buildrpm xdmod
- run:
name: Install / Upgrade XDMoD from the newly created RPM
command: docker exec -e XDMOD_TEST_MODE=<< parameters.install-type >> xdmod /root/xdmod/tests/ci/bootstrap.sh
- run:
name: Validate that the install / upgrade went as expected
command: docker exec -w /root/xdmod xdmod /root/xdmod/tests/ci/validate.sh
- run:
name: Install / Upgrade XDMoD from RPM
command: ./tests/ci/bootstrap.sh
name: Make sure that the test dependencies are installed
command: docker exec -w /root/xdmod xdmod composer install
- run:
name: Validate the newly installed / Upgraded XDMoD
command: ./tests/ci/validate.sh
name: Setup the SimpleSAML server etc. so we can test SSO
command: docker exec xdmod /root/xdmod/tests/ci/samlSetup.sh
- when:
condition:
equal: [ << parameters.install-type >>, 'upgrade' ]
steps:
- run:
name: Checkout QA Repo
command: docker exec -w /root xdmod git clone --depth=1 --branch="$QA_BRANCH" https://github.com/ubccr/xdmod-qa.git /root/.qa
- run:
name: Install QA dependencies
command: docker exec -w /root/xdmod xdmod /root/.qa/scripts/install.sh
- run:
name: Configure xdmod as a safe directory
command: docker exec -w /root/xdmod xdmod git config --global --add safe.directory /xdmod
- run:
name: Setup remote upstream
command: |
docker exec -w /root/xdmod xdmod git config --global --add safe.directory /root/xdmod
docker exec -w /root/xdmod xdmod git remote add upstream https://github.com/ubccr/xdmod.git
- run:
name: Copy portal_settings.ini into place
command: docker exec xdmod cp /etc/xdmod/portal_settings.ini /root/xdmod/configuration/portal_settings.ini
- run:
name: Run QA Tests
command: docker exec -w /root/xdmod xdmod /root/.qa/scripts/build.sh
- run:
name: Make sure that the Composer Test Dependencies are installed
command: composer install --no-progress
name: Make sure that the Test Dependencies are installed
command: docker exec -w /root/xdmod xdmod composer install --no-progress
- run:
name: Run Regression Tests
command: docker exec -e XDMOD_TEST_MODE=<< parameters.install-type >> -w /root/xdmod xdmod /root/xdmod/tests/regression/runtests.sh
- run:
name: Setup Configuration Files for Integration Tests
command: |
mv ./configuration/organization.json ./configuration/organization.json.old
mv ./configuration/portal_settings.ini ./configuration/portal_settings.ini.old
cp /etc/xdmod/portal_settings.ini ./configuration/portal_settings.ini
cp /etc/xdmod/organization.json ./configuration/organization.json
docker exec xdmod mv /root/xdmod/configuration/organization.json /root/xdmod/configuration/organization.json.old
docker exec xdmod mv /root/xdmod/configuration/portal_settings.ini /root/xdmod/configuration/portal_settings.ini.old
docker exec xdmod cp /etc/xdmod/portal_settings.ini /root/xdmod/configuration/portal_settings.ini
docker exec xdmod cp /etc/xdmod/organization.json /root/xdmod/configuration/organization.json
- run:
name: Setup & Run QA Tests
command: |
./tests/ci/scripts/qa-test-setup.sh
name: Running Integration Tests
command: docker exec -w /root/xdmod xdmod /root/xdmod/tests/integration/runtests.sh --junit-output-dir /root/phpunit
- run:
name: Clear out command-line PHP errors generated by composer installs
command: >
if [ -e /var/log/php_errors.log ]; then
sed -i '/PHP Warning: openssl_x509_parse(): illegal ASN1 data type for timestamp in - on line 4/d' /var/log/php_errors.log;
fi
- run: ./tests/regression/runtests.sh
- run: ./tests/integration/runtests.sh --junit-output-dir ~/phpunit
- run: ./tests/regression/post_ingest_test.sh --junit-output-dir ~/phpunit
- run: ./tests/component/runtests.sh --junit-output-dir ~/phpunit
name: Run Regression Post Ingest Tests
command: docker exec -w /root/xdmod xdmod /root/xdmod/tests/regression/post_ingest_test.sh --junit-output-dir /root/phpunit
- run:
name: Ensure that no XDMoD exceptions were logged
command: test ! -f /root/xdmod/logs/exceptions.log
name: Run Component Tests
command: docker exec -w /root/xdmod xdmod /root/xdmod/tests/component/runtests.sh --junit-output-dir /root/phpunit
- run:
name: 'Install Chromium 99'
command: |
pushd $HOME && \
rm -rf chrome-linux && \
wget -O chrome-linux.zip "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F961656%2Fchrome-linux.zip?generation=1642723767466615&alt=media" && \
unzip chrome-linux.zip && \
ln -s /root/chrome-linux/chrome /usr/local/bin/google-chrome && \
popd
- run:
name: 'Bodge the nodejs version to run an older one for the webdriver tests'
name: Update the HTTPD config file
command: docker exec xdmod sed -i 's/ServerName localhost/ServerName xdmod/g' /etc/httpd/conf.d/xdmod.conf
- run:
name: Restart XDMoD's services
command: docker exec xdmod /root/bin/services restart
- run:
name: Run Playwright Tests
command: docker exec -w /root/xdmod/tests/playwright playwright /root/xdmod/tests/playwright/runtests.sh -j << parameters.string_os >>
- run:
name: Copy Test Results into Unit
command: |
curl https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz | tar -xJC /usr/local
chown root:root -R /usr/local/node-v10.24.1-linux-x64
- run: pushd ./tests/ui && PATH=/usr/local/node-v10.24.1-linux-x64/bin:$PATH /usr/local/node-v10.24.1-linux-x64/bin/npm install && popd
- run: PATH=/usr/local/node-v10.24.1-linux-x64/bin:$PATH ./tests/ui/runtests.sh --headless --log-junit ~/phpunit

docker cp xdmod:/root/phpunit ~/phpunit
docker cp xdmod:/tmp/screenshots /tmp/screenshots
mkdir ~/project/log
docker cp xdmod:/var/log/xdmod ~/project/log
docker cp xdmod:/var/log/php-fpm/ ~/project/log
docker cp playwright:/root/xdmod/tests/playwright/test-results /tmp/screenshots
- run:
name: 'Run SSO Tests'
name: Copy Test results for Operating System
command: |
PATH=/usr/local/node-v10.24.1-linux-x64/bin:$PATH ./tests/ci/samlSetup.sh
PATH=/usr/local/node-v10.24.1-linux-x64/bin:$PATH ./tests/ui/runtests.sh --headless --log-junit ~/phpunit --sso
./vendor/phpunit/phpunit/phpunit -c ./tests/integration/phpunit.xml.dist --testsuite sso --log-junit ~/phpunit/xdmod-sso-integration.xml
docker cp "playwright:/root/xdmod/tests/playwright/test_results-<< parameters.string_os >>.xml" ~/phpunit
- run:
name: Ensure that no unexpected Apache errors were generated ( We expect PHP Deprecated )
name: Clear out command-line PHP errors generated by composer installs
command: >
if [ -e ~/project/log/php_errors.log ]; then sed -i '/PHP Warning: openssl_x509_parse(): illegal ASN1 data type for timestamp in - on line 4/d' /var/log/php_errors.log; fi
- run:
name: Test to make sure that we don't have any unexpected apache errors
command: >
if [ -e /var/log/php-fpm/www-error.log ]; then
test `egrep -v "PHP Deprecated.*vendor\/.*" /var/log/php-fpm/www-error.log | wc -l` = 0;
if [ -e ~/project/log/apache-error.log ]; then
test "$(fgrep -v ' [ssl:warn] ' ~/project/log/apache-error.log | wc -l)" = 0
fi
- run:
name: Ensure that no unexpected Apache errors were generated
command: test ! -e ~/project/log/error.log
- run:
name: Ensure that no PHP command-line errors were generated
command: >
if [ -e /var/log/php_errors.log ]; then
test `egrep -v "PHP Deprecated.*vendor\/.*|PHP Notice: fread()" /var/log/php_errors.log | wc -l` = 0;
fi
if [ -e ~/project/log/php_errors.log ]; then test `fgrep -v 'vendor/phpunit/phpunit/src' ~/project/log/php_errors.log | wc -l` = 0; fi
- run:
name: Run on fail status
command: |
docker cp playwright:/root/xdmod/tests/playwright/test-results /tmp/screenshots
when: on_fail
- store_artifacts:
path: /tmp/screenshots
- store_artifacts:
Expand All @@ -125,3 +184,4 @@ workflows:
parameters:
os: [rocky8]
install-type: ["fresh_install", "upgrade"]
string_os: [rocky8]
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ logs/
*.msm
*.msp

sphinx_venv

### Bower ###
bower_components
Expand Down
33 changes: 19 additions & 14 deletions tests/ci/bootstrap.sh
Original file line number Diff line number Diff line change
Expand Up @@ -63,20 +63,25 @@ then
dnf install -y ~/rpmbuild/RPMS/*/*.rpm
mysql_install_db --user mysql

# Make sure that the db config file is setup correctly w/ `sql_mode=`
echo "# this is read by the standalone daemon and embedded servers
[server]
sql_mode=
# this is only for the mysqld standalone daemon
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld/mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid" > /etc/my.cnf.d/mariadb-server.cnf
if [ -f /etc/my.cnf.d/mariadb-server.cnf.rpmsave ]; then
mv /etc/my.cnf.d/mariadb-server.cnf.rpmsave /etc/my.cnf.d/mariadb-server.cnf
fi
if [ -f /etc/my.cnf.d/mariadb-server.cnf ]; then
>/etc/my.cnf.d/mariadb-server.cnf
echo "# this is read by the standalone daemon and embedded servers
[server]
sql_mode=
# this is only for the mysqld standalone daemon
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mysqld/mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-error=/var/log/mariadb/mariadb.log
pid-file=/run/mariadb/mariadb.pid" > /etc/my.cnf.d/mariadb-server.cnf
fi

copy_template_httpd_conf
~/bin/services start
Expand Down
11 changes: 6 additions & 5 deletions tests/ci/samlSetup.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/bin/bash

# Used for docker build, cache file will need to be upgraded if newer version is needed
#Used for docker build, cache file will need to be upgraded if newer version is needed
CACHE_FILE='/root/saml-idp.tar.gz'

DEFAULT_INSTALL_DIR=/usr/share/xdmod
Expand Down Expand Up @@ -179,6 +179,7 @@ cat > "$VENDOR_DIR/simplesamlphp/simplesamlphp/config/authsources.php" <<EOF
EOF

CERTCONTENTS=`sed -n '2,21p' idp-public-cert.pem | perl -ne 'chomp and print'`
HOSTNAME=$(hostname)

cat > "$VENDOR_DIR/simplesamlphp/simplesamlphp/metadata/saml20-idp-remote.php" <<EOF
<?php
Expand All @@ -194,20 +195,20 @@ cat > "$VENDOR_DIR/simplesamlphp/simplesamlphp/metadata/saml20-idp-remote.php" <
0 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => 'https://localhost:7000',
'Location' => 'https://$HOSTNAME:7000',
),
1 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST',
'Location' => 'https://localhost:7000',
'Location' => 'https://$HOSTNAME:7000',
),
),
'SingleLogoutService' =>
array (
0 =>
array (
'Binding' => 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect',
'Location' => 'https://localhost:7000/signout',
'Location' => 'https://$HOSTNAME:7000/signout',
),
),
'ArtifactResolutionService' =>
Expand All @@ -232,5 +233,5 @@ cat > "$VENDOR_DIR/simplesamlphp/simplesamlphp/metadata/saml20-idp-remote.php" <
);
EOF

node app.js --acs https://localhost/simplesaml/module.php/saml/sp/saml2-acs.php/xdmod-sp --aud https://localhost/simplesaml/module.php/saml/sp/metadata.php/xdmod-sp --httpsPrivateKey idp-private-key.pem --httpsCert idp-public-cert.pem --https true > /var/log/xdmod/samlidp.log 2>&1 &
node app.js --acs https://$HOSTNAME/simplesaml/module.php/saml/sp/saml2-acs.php/xdmod-sp --aud https://$HOSTNAME/simplesaml/module.php/saml/sp/metadata.php/xdmod-sp --httpsPrivateKey idp-private-key.pem --httpsCert idp-public-cert.pem --https true > /var/log/xdmod/samlidp.log 2>&1 &
httpd -k start
Empty file modified tests/ci/scripts/qa-test-setup.sh
100755 → 100644
Empty file.
1 change: 1 addition & 0 deletions tests/playwright/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
data/*state.json
6 changes: 6 additions & 0 deletions tests/playwright/Docker/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
GIT_USER=ubccr
GIT_BRANCH=main
XDMOD_SOURCE_DIR=/xdmod
XDMOD_HOSTNAME=playwright_xdmod
PLAYWRIGHT_HOSTNAME=playwright
BASE_URL=https://playwright_xdmod
36 changes: 36 additions & 0 deletions tests/playwright/Docker/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
services:
xdmod:
image: tools-ext-01.ccr.xdmod.org/xdmod:x86_64-rockylinux8.9.20231119-v11.0.0-1.0-03
container_name: xdmod
hostname: xdmod
networks:
- testing-rocky8
shm_size: 2g
ports:
- 9006:443
- 7000:7000
environment:
XDMOD_REALMS: 'jobs,storage,cloud,resourcespecifications'
XDMOD_IS_CORE: true
stdin_open: true
tty: true
command: sleep infinity
playwright:
image: mcr.microsoft.com/playwright:v1.50.1-jammy
hostname: playwright
container_name: playwright
networks:
- testing-rocky8
stdin_open: true
tty: true
ipc: host
links:
- xdmod
depends_on:
- xdmod
environment:
BASE_URL: https://xdmod
XDMOD_REALMS: 'jobs,storage,cloud,resourcespecifications'
command: sleep infinity
networks:
testing-rocky8:
19 changes: 19 additions & 0 deletions tests/playwright/Docker/playwright/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM mcr.microsoft.com/playwright:v1.48.2-focal

ENV GIT_BRANCH=${GIT_BRANCH:-playwright_poc}
ENV GIT_USER=${GIT_USER:-ubccr}
ENV XDMOD_SOURCE_DIR=${XDMOD_SOURCE_DIR:-/xdmod}
ENV XDMOD_REALMS=${XDMOD_REALMS:-jobs,cloud,storage}
ENV BASE_URL=${BASE_URL:-https://xdmod}

RUN apt update
RUN apt install -y iputils-ping vim procps
RUN wget https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh -P $HOME/
RUN chmod +x $HOME/wait-for-it.sh
COPY bin /root/bin
RUN git clone --branch=$GIT_BRANCH --depth=1 https://github.com/$GIT_USER/xdmod.git $XDMOD_SOURCE_DIR
RUN npm upgrade -g npm -y
WORKDIR $XDMOD_SOURCE_DIR/tests/playwright
RUN npm install
RUN npx playwright install --with-deps chromium
ENTRYPOINT /root/bin/entrypoint.sh
Loading