github.com/rancher/elemental/tests@v0.0.0-20240517125144-ae048c615b3f/scripts/start-cypress-tests (about)

     1  #!/bin/bash
     2  
     3  set -evx
     4  
     5  ELEMENTAL_MEDIA_PATH="/home/gh-runner/actions-runner/_work/elemental/elemental/elemental-from-cypress.$BOOT_TYPE"
     6  
     7  # Start a simple HTTP server for sharing some config files
     8  HTTP_SRV_CMD="python3 -m http.server"
     9  pushd ..
    10  setsid --fork ${HTTP_SRV_CMD} >/dev/null 2>&1
    11  popd
    12  
    13  pushd cypress/latest
    14  
    15  # Needed to install Cypress plugins
    16  npm install
    17  
    18  # Start Cypress tests with docker
    19  docker run -v $PWD:/workdir -w /workdir               \
    20      -e BOOT_TYPE=$BOOT_TYPE                           \
    21      -e CYPRESS_TAGS=$CYPRESS_TAGS                     \
    22      -e ELEMENTAL_DEV_VERSION=$ELEMENTAL_DEV_VERSION   \
    23      -e ELEMENTAL_UI_VERSION=$ELEMENTAL_UI_VERSION     \
    24      -e CHARTMUSEUM_REPO=$CHARTMUSEUM_REPO             \
    25      -e K8S_UPSTREAM_VERSION=$K8S_UPSTREAM_VERSION     \
    26      -e K8S_DOWNSTREAM_VERSION=$K8S_DOWNSTREAM_VERSION \
    27      -e OPERATOR_REPO=$OPERATOR_REPO                   \
    28      -e OS_VERSION_INSTALL=$OS_VERSION_INSTALL         \
    29      -e OS_VERSION_TARGET=$OS_VERSION_TARGET           \
    30      -e PROXY=$PROXY                                   \
    31      -e QASE_API_TOKEN=$QASE_API_TOKEN                 \
    32      -e QASE_REPORT=$QASE_REPORT                       \
    33      -e QASE_RUN_ID=$QASE_RUN_ID                       \
    34      -e RANCHER_VERSION=$RANCHER_VERSION               \
    35      -e RANCHER_PASSWORD=$RANCHER_PASSWORD             \
    36      -e RANCHER_URL=$RANCHER_URL                       \
    37      -e RANCHER_USER=$RANCHER_USER                     \
    38      -e UI_ACCOUNT=$UI_ACCOUNT                         \
    39      -e UPGRADE_FROM_VERSION=$UPGRADE_FROM_VERSION     \
    40      -e UPGRADE_IMAGE=$UPGRADE_IMAGE                   \
    41      -e UPGRADE_OS_CHANNEL=$UPGRADE_OS_CHANNEL         \
    42      --add-host host.docker.internal:host-gateway      \
    43      --ipc=host                                        \
    44      $CYPRESS_DOCKER                                   \
    45      -s $SPEC
    46  
    47  [[ -d downloads ]] && sudo chown -R gh-runner:users downloads videos
    48  
    49  if [[ ! -f ${ELEMENTAL_MEDIA_PATH} ]]; then
    50    # Move elemental.iso into the expected folder
    51    mv downloads/*.${BOOT_TYPE} ${ELEMENTAL_MEDIA_PATH} 2>/dev/null; true
    52  fi
    53  popd
    54  
    55  # Kill the HTTP server
    56  pkill -f "${HTTP_SRV_CMD}"