From f89d9d67a618d450eee39c461922166901bbd04d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mikael=20=C3=96hman?= Date: Wed, 6 Nov 2024 13:39:27 +0100 Subject: [PATCH] More debug --- .github/workflows/tagbot.yml | 3 + .github/workflows/unit_tests.yml | 182 ------------------------------- 2 files changed, 3 insertions(+), 182 deletions(-) delete mode 100644 .github/workflows/unit_tests.yml diff --git a/.github/workflows/tagbot.yml b/.github/workflows/tagbot.yml index 6a518cbe03d..bb60ef3715b 100644 --- a/.github/workflows/tagbot.yml +++ b/.github/workflows/tagbot.yml @@ -14,6 +14,9 @@ jobs: permissions: pull-requests: write steps: + - name: Debug + run: echo "group: ${{ github.workflow }}-${{ github.ref }}" + - name: Checkout base branch for workflow scripts uses: actions/checkout@v4 diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml deleted file mode 100644 index 82cf7cacef9..00000000000 --- a/.github/workflows/unit_tests.yml +++ /dev/null @@ -1,182 +0,0 @@ -name: easyconfigs unit tests -on: [push, pull_request] - -permissions: - contents: read # to fetch code (actions/checkout) - -concurrency: - group: ${{format('{0}:{1}:{2}', github.repository, github.ref, github.workflow)}} - cancel-in-progress: true - -jobs: - test-suite: - runs-on: ubuntu-20.04 - strategy: - matrix: - python: [3.6, '3.11'] - modules_tool: [Lmod-7.8.22, Lmod-8.6.8] - module_syntax: [Lua, Tcl] - # exclude some configurations: only test Tcl module syntax with Lmod 8.x and Python 3.6 - exclude: - - modules_tool: Lmod-7.8.22 - module_syntax: Tcl - fail-fast: false - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 # Required for git merge-base to work - - - name: Cache source files in /tmp/sources - id: cache-sources - uses: actions/cache@v2 - with: - path: /tmp/sources - key: eb-sourcepath - - - name: set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{matrix.python}} - architecture: x64 - - - name: install OS & Python packages - run: | - # disable apt-get update, we don't really need it, - # and it does more harm than good (it's fairly expensive, and it results in flaky test runs) - # sudo apt-get update - # for modules tool - sudo apt-get install lua5.2 liblua5.2-dev lua-filesystem lua-posix tcl tcl-dev - # fix for lua-posix packaging issue, see https://bugs.launchpad.net/ubuntu/+source/lua-posix/+bug/1752082 - # needed for Ubuntu 18.04, but not for Ubuntu 20.04, so skipping symlinking if posix.so already exists - if [ ! -e /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so ] ; then - sudo ln -s /usr/lib/x86_64-linux-gnu/lua/5.2/posix_c.so /usr/lib/x86_64-linux-gnu/lua/5.2/posix.so - fi - # for testing OpenMPI-system*eb we need to have Open MPI installed - sudo apt-get install libopenmpi-dev openmpi-bin - # required for test_dep_graph - pip install pep8 python-graph-core python-graph-dot - - - name: install EasyBuild framework - run: | - cd $HOME - # first determine which branch of easybuild-framework repo to install - BRANCH=develop - if [ "x$GITHUB_BASE_REF" = 'xmain' ]; then BRANCH=main; fi - if [ "x$GITHUB_BASE_REF" = 'x4.x' ]; then BRANCH=4.x; fi - echo "Using easybuild-framework branch $BRANCH (\$GITHUB_BASE_REF $GITHUB_BASE_REF)" - - git clone -b $BRANCH --depth 10 --single-branch https://github.com/easybuilders/easybuild-framework.git - cd easybuild-framework; git log -n 1; cd - - pip install $PWD/easybuild-framework - - git clone -b $BRANCH --depth 10 --single-branch https://github.com/easybuilders/easybuild-easyblocks.git - cd easybuild-easyblocks; git log -n 1; cd - - pip install $PWD/easybuild-easyblocks - - - name: install modules tool - run: | - cd $HOME - # use install_eb_dep.sh script provided with easybuild-framework - export INSTALL_DEP=$(which install_eb_dep.sh) - echo "Found install_eb_dep.sh script: $INSTALL_DEP" - - # install modules tool - source $INSTALL_DEP ${{matrix.modules_tool}} $HOME - - # changes in environment are not passed to other steps, so need to create files... - echo $MOD_INIT > mod_init - echo $PATH > path - if [ ! -z $MODULESHOME ]; then echo $MODULESHOME > moduleshome; fi - - - name: run test suite - env: - EB_VERBOSE: 1 - EASYBUILD_MODULE_SYNTAX: ${{matrix.module_syntax}} - run: | - # pull in target so we can diff against it to obtain list of touched files - if [ "x$GITHUB_BASE_REF" != 'xmain' ]; then git fetch -v origin ${GITHUB_BASE_REF}:${GITHUB_BASE_REF}; fi - - # initialize environment for modules tool - if [ -f $HOME/moduleshome ]; then export MODULESHOME=$(cat $HOME/moduleshome); fi - source $(cat $HOME/mod_init); type module - - # make sure 'eb' is available via $PATH, and that $PYTHONPATH is set (some tests expect that); - # also pick up changes to $PATH set by sourcing $MOD_INIT - WORKDIR=$GITHUB_WORKSPACE/easybuild-easyconfigs - export PATH=$WORKDIR/test/bin:$(cat $HOME/path) - export PYTHONPATH=$WORKDIR - - # tell EasyBuild which modules tool is available - if [[ ${{matrix.modules_tool}} =~ ^modules-tcl- ]]; then - export EASYBUILD_MODULES_TOOL=EnvironmentModulesTcl - elif [[ ${{matrix.modules_tool}} =~ ^modules-3 ]]; then - export EASYBUILD_MODULES_TOOL=EnvironmentModulesC - elif [[ ${{matrix.modules_tool}} =~ ^modules-4 ]]; then - export EASYBUILD_MODULES_TOOL=EnvironmentModules - else - export EASYBUILD_MODULES_TOOL=Lmod - fi - - eb --version - eb --show-config - # gather some useful info on test system - eb --show-system-info - - # run test suite - # if tests failed, print error message that is picked up by boegelbot to determine end of test output - python -O -m test.easyconfigs.suite || (echo "ERROR: Not all tests were successful" && exit 1) - - unset PYTHONPATH - - # install easyconfigs via distribution package - python setup.py sdist > /dev/null - ls dist - pip install dist/easybuild-easyconfigs*tar.gz > /dev/null - - # robot-paths value should not be empty, but have an entry that includes easybuild/easyconfigs subdir - echo "eb --show-config" - eb --show-config | tee eb_show_config.out - grep "^robot-paths .*/easybuild/easyconfigs" eb_show_config.out - - # check whether some specific easyconfig files are found - echo "eb --search 'TensorFlow-1.14.*.eb'" - eb --search 'TensorFlow-1.14.*.eb' | tee eb_search_TF.out - grep '/TensorFlow-1.14.0-foss-2019a-Python-3.7.2.eb$' eb_search_TF.out - - echo "eb --search '^foss-2019b.eb'" - eb --search '^foss-2019b.eb' | tee eb_search_foss.out - grep '/foss-2019b.eb$' eb_search_foss.out - - # try installing M4 with system toolchain (requires ConfigureMake easyblock + easyconfig) - # use /tmp/sources because that has cached downloads (see cache step above) - eb --prefix /tmp/$USER/$GITHUB_SHA --sourcepath /tmp/sources M4-1.4.18.eb - - test-sdist: - runs-on: ubuntu-20.04 - strategy: - matrix: - python: [3.6, '3.11'] - steps: - - uses: actions/checkout@v2 - - - name: set up Python - uses: actions/setup-python@v4 - with: - python-version: ${{matrix.python}} - - - name: Create source distribution - run: python setup.py sdist - - - name: Inspect files included in source distribution - working-directory: dist - run: | - tar xfz easybuild-easyconfigs*tar.gz - cd easybuild-easyconfigs-*/ - - # .git folder should not be there in source tarball - dot_git_files=$(find . -name .git) - if [ -n "$dot_git_files" ]; then - echo "Found .git folders in source tarball: $dot_git_files" && false - else - echo "No .git folders found in source tarball: OK" - fi