WIP #60
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
name: Unit testing | |
on: | |
pull_request: | |
permissions: {} | |
jobs: | |
Build_and_unit_test: | |
name: "Build and Run Unit Tests for Ryon" | |
runs-on: [self-hosted, wolf] | |
env: | |
CP_PRIORITY: 1 | |
EL8_BUILD_VERSION: 8.8 | |
EL8_VERSION: 8.8 | |
EL9_BUILD_VERSION: 9 | |
EL9_VERSION: 9 | |
LEAP15_VERSION: 15.5 | |
CONFIG_POWER_ONLY: false | |
PRAGMA_SUFFIX: -vm | |
OPERATIONS_EMAIL: [email protected] | |
TEST_RPMS: true | |
JENKINS_URL: https://build.hpdd.intel.com/ | |
REPOSITORY_URL: https://repo.dc.hpdd.intel.com/ | |
REMOVE_EXISTING_RPMS: false | |
ARTIFACTS_URL: file:///scratch/job_repos/ | |
REPO_FILE_URL: https://artifactory.dc.hpdd.intel.com/artifactory/repo-files/ | |
REPO_PATH: /scratch/job_repos/daos-stack/job/daos/job/PR-${{ github.event.pull_request.number }}/ | |
CHROOT_NAME: "rocky+epel-8-x86_64" | |
DISTRO_NAME: "EL" | |
DISTRO_NAME_UPPER: "EL" | |
DISTRO_NAME_LOWER: "el" | |
DISTRO_VERSION: "8.8" | |
DISTRO_VERSION_MAJOR: "8" | |
DISTRO_WITH_VERSION: "el8.8" | |
OPENMPI: "openmpi" | |
LABEL: "ci_vm1" | |
DISTRO: EL_8 | |
DAOS_STACK_EL_8_LOCAL_REPO: not_used | |
DAOS_STACK_EL_8_GROUP_REPO: | |
DAOS_STACK_EL_8_APPSTREAM_REPO: | |
DAOS_STACK_EL_7_LOCAL_REPO: not_used | |
NODESTRING: | |
CP_PR_REPOS: | |
CP_FEATURES: | |
CP_TEST_TAG: | |
CP_EL8_VM9_LABEL: | |
CP_EL9_VM9_LABEL: | |
CP_LEAP15_VM9_LABEL: | |
CP_EL8_VERSION: | |
CP_EL9_VERSION: | |
CP_LEAP15_VERSION: | |
CLUSTER_REQUEST_reqid: | |
STAGE_NAME: STAGE_RYON | |
QUEUE_URL: | |
COMMIT_STATUS_DISTRO_VERSION: | |
PROVISION_DISTRO: EL_8 | |
ARTIFACTORY_URL: https://artifactory.dc.hpdd.intel.com/ | |
DAOS_FULLNAME: daos-stack | |
DISTRO_REPOS: disabled | |
DOCKER_BUILDKIT: 0 | |
MOCK_OPTIONS: --uniqueext=10390383274 | |
PR_NUM: 14943 | |
RUN_ID: ${{ github.run_id }} | |
TARGET: el8 | |
FVERSION: | |
CP_RUN_GHA: true | |
CP_DOC_ONLY: false | |
BUILD_CHROOT: /var/lib/mock/rocky+epel-8-x86_64-10390383274/ | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Request and Provision a Cluster | |
timeout-minutes: 7200 | |
uses: ./.github/actions/provision-cluster | |
with: | |
condition: true | |
- name: Scons Build | |
run: | | |
echo "whoami: $(whoami)" | |
echo "hostname: $(hostname)" | |
echo "nodelist: $NODELIST" | |
echo "pwd: $(pwd)" | |
echo "HOME: $HOME" | |
echo "ls -ltr" | |
ls -ltr | |
first_node=${NODELIST%%,*} | |
echo "::group::Copying code to $first_node" | |
rsync -rlpt -z -e "ssh -i ci_key" . jenkins@$first_node:build/ | |
echo "::endgroup::" | |
echo "::group::Sending Build Commands to $first_node" | |
ssh -tt -i ci_key jenkins@$first_node << EOF | |
echo "------" | |
echo "hostname: $(hostname)" | |
echo "pwd: $(pwd)" | |
cd build | |
sudo dnf --assumeyes install dnf-plugins-core | |
sudo dnf config-manager --save --setopt=assumeyes=True | |
sudo ./utils/scripts/install-el8.sh | |
sudo python3 -m pip install -r requirements-build.txt | |
# sudo dnf install -y python3-pyelftools meson | |
# these shouldn't be needed??? | |
# sudo dnf install -y ndctl-devel daxctl-devel | |
scons-3 --build-deps=yes --config=force -j12 install | |
EOF | |
echo "::endgroup::" | |
echo "::group::Create Tar File::" | |
ssh -tt -i ci_key jenkins@$first_node << EOF | |
tar -cf opt-daos.tar ./build/ | |
mv opt-daos.tar ./build/ | |
EOF | |
echo "::endgroup::" | |
- name: Run Test | |
run: | | |
echo "Beginning Tests ..." | |
export BULLSEYE= | |
ssh -tt -i ci_key jenkins@$first_node << EOF | |
./ci/unit/test_main_node.sh | |
EOF | |
# - name: Job cleanup | |
# if: (!cancelled() && (success() || failure())) | |
# run: | | |
# set -eux | |
# . ci/gha_functions.sh | |
# cleanup_provision_request "${{ env.CLUSTER_REQUEST_reqid }}" | |
# NODELIST=${{ env.NODESTRING }} ci/functional/job_cleanup.sh |