Skip to content

Commit

Permalink
Merge branch 'sara-nl-20221017182151_new_pr_JupyterHub300' into develop
Browse files Browse the repository at this point in the history
Resolving merge conflicts
  • Loading branch information
Caspar van Leeuwen committed Feb 10, 2023
2 parents d6a8d9a + f3a5278 commit e765570
Show file tree
Hide file tree
Showing 21,173 changed files with 812,522 additions and 61,034 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
20 changes: 20 additions & 0 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Static Analysis
on: [push, pull_request]
jobs:
python-linting:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2

- name: set up Python
uses: actions/setup-python@v2
with:
python-version: 3.8

- name: install Python packages
run: |
pip install --upgrade pip
pip install --upgrade flake8
- name: Run flake8 to verify PEP8-compliance of Python code
run: flake8
187 changes: 187 additions & 0 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
name: easyconfigs unit tests
on: [push, pull_request]
jobs:
test-suite:
runs-on: ubuntu-20.04
strategy:
matrix:
python: [2.7, 3.6]
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 2.7 & 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@v2
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
# make sure CVS easyconfigs are included in installation (cfr. issue #10325)
echo "Searching for CVS easyconfigs..."
eb --search '^CVS-' | grep '/CVS-'
# 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: [2.7, 3.6, 3.7]
steps:
- uses: actions/checkout@v2

- name: set up Python
uses: actions/setup-python@v1
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
# CVS easyconfigs must be included in source tarball,
# see https://github.com/easybuilders/easybuild-easyconfigs/issues/10325
cvs_easyconfigs=$(find . -name 'CVS-*.eb')
if [ -z "$cvs_easyconfigs" ]; then
echo "CVS easyconfigs not found" && false
else
echo "Found CVS easyconfigs: $cvs_easyconfigs"
fi
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ dist/
*.swp
*.ropeproject/
eb-*.log
/MANIFEST
33 changes: 33 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# To use these pre-commit hooks you should first install https://pre-commit.com
# and then run "pre-commit install" in the root folder of your local clone
# so the hooks are deployed to .git/hooks
#
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
#
# the pep8 custom config (e.g. custom line length) is defined in file .pep8
# https://pep8.readthedocs.io/en/release-1.7.x/intro.html#configuration

repos:

- repo: https://github.com/pre-commit/pre-commit-hooks
sha: v1.2.0
hooks:
- id: autopep8-wrapper
name: 'autopep8-wrapper (.eb)'
types: [file]
files: \.eb$
- id: check-ast
name: 'check-ast (.eb)'
types: [file]
files: \.eb$
- id: autopep8-wrapper
- id: check-ast
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-merge-conflict

- repo: https://github.com/easybuilders/pre-commit-hooks-easybuild
sha: v0.1
hooks:
- id: check-old-easybuild-url
44 changes: 0 additions & 44 deletions .travis.yml

This file was deleted.

12 changes: 6 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ We'd love you to contribute back to EasyBuild, and here's how you can do it: the

### Fork easybuild-easyconfigs

First, you'll need to fork [easybuild-easyconfigs on GitHub](http://github.com/hpcugent/easybuild-easyconfigs).
First, you'll need to fork [easybuild-easyconfigs on GitHub](https://github.com/easybuilders/easybuild-easyconfigs).

If you do not have a (free) GitHub account yet, you'll need to get one.

Expand All @@ -25,10 +25,10 @@ Pull the _develop_ branch from the main easybuild-easyconfigs repository:

```bash
cd easybuild
git remote add github_hpcugent [email protected]:hpcugent/easybuild-easyconfigs.git
git remote add github_easybuilders [email protected]:easybuilders/easybuild-easyconfigs.git
git branch develop
git checkout develop
git pull github_hpcugent develop
git pull github_easybuilders develop
```

### Keep develop up-to-date
Expand All @@ -39,7 +39,7 @@ Make sure you update it every time you create a feature branch (see below):

```bash
git checkout develop
git pull github_hpcugent develop
git pull github_easybuilders develop
```


Expand All @@ -49,7 +49,7 @@ git pull github_hpcugent develop
### Pick a branch name

Please try and follow these guidelines when picking a branch name:
* use the number of the issue as a prefix for your branch name, e.g. `86_` for issue [#86](https://github.com/hpcugent/easybuild-framework/issues/86)
* use the number of the issue as a prefix for your branch name, e.g. `86_` for issue [#86](https://github.com/easybuilders/easybuild-framework/issues/86)
* append a short but descriptive branch name, in which words are joined by underscores, e.g. `86_encoding_scheme`

### Create branch
Expand Down Expand Up @@ -113,7 +113,7 @@ If you're contributing code to an existing issue you can also convert the issue
GITHUBUSER=your_username && PASSWD=your_password && BRANCH=branch_name && ISSUE=issue_number && \
curl --user "$GITHUBUSER:$PASSWD" --request POST \
--data "{\"issue\": \"$ISSUE\", \"head\": \"$GITHUBUSER:$BRANCH\", \"base\": \"develop\"}" \
https://api.github.com/repos/hpcugent/easybuild-easyconfigs/pulls
https://api.github.com/repos/easybuilders/easybuild-easyconfigs/pulls
```
This is currently only supported by github from the command line and not via the web interface.
You might also want to look into [hub](https://github.com/defunkt/hub) for more command line features.
Expand Down
2 changes: 0 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
recursive-include easybuild *
include CONTRIBUTING.md
include LICENSE
include README.rst
include RELEASE_NOTES
include setup.py
24 changes: 7 additions & 17 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
.. image:: http://hpcugent.github.io/easybuild/images/easybuild_logo_small.png
.. image:: https://github.com/easybuilders/easybuild-easyconfigs/workflows/easyconfigs%20unit%20tests/badge.svg

.. image:: https://easybuilders.github.io/easybuild/images/easybuild_logo_small.png
:align: center

`EasyBuild <https://hpcugent.github.io/easybuild>`_ is a software build
`EasyBuild <https://easybuilders.github.io/easybuild>`_ is a software build
and installation framework that allows you to manage (scientific) software
on High Performance Computing (HPC) systems in an efficient way.

Expand All @@ -15,31 +17,19 @@ The EasyBuild documentation is available at http://easybuild.readthedocs.org/.

The easybuild-easyconfigs package is hosted on GitHub, along
with an issue tracker for bug reports and feature requests, see
http://github.com/hpcugent/easybuild-easyconfigs.
https://github.com/easybuilders/easybuild-easyconfigs.

Related Python packages:

* **easybuild-framework**

* the EasyBuild framework, which includes the ``easybuild.framework`` and ``easybuild.tools`` Python
packages that provide general support for building and installing software
* GitHub repository: http://github.com/hpcugent/easybuild-framework
* GitHub repository: https://github.com/easybuilders/easybuild-framework
* PyPi: https://pypi.python.org/pypi/easybuild-framework

* **easybuild-easyblocks**

* a collection of easyblocks that implement support for building and installing (groups of) software packages
* GitHub repository: http://github.com/hpcugent/easybuild-easyblocks
* GitHub repository: https://github.com/easybuilders/easybuild-easyblocks
* package on PyPi: https://pypi.python.org/pypi/easybuild-easyblocks

*Build status overview:*

* **master** branch:

.. image:: https://travis-ci.org/hpcugent/easybuild-easyconfigs.svg?branch=master
:target: https://travis-ci.org/hpcugent/easybuild-easyconfigs/branches

* **develop** branch:

.. image:: https://travis-ci.org/hpcugent/easybuild-easyconfigs.svg?branch=develop
:target: https://travis-ci.org/hpcugent/easybuild-easyconfigs/branches
Loading

0 comments on commit e765570

Please sign in to comment.