forked from easybuilders/easybuild-easyconfigs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'sara-nl-20221017182151_new_pr_JupyterHub300' into develop
Resolving merge conflicts
- Loading branch information
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.
There are no files selected for viewing
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
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 |
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
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 |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,3 +10,4 @@ dist/ | |
*.swp | ||
*.ropeproject/ | ||
eb-*.log | ||
/MANIFEST |
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
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 |
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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. | ||
|
||
|
@@ -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 | ||
|
@@ -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 | ||
``` | ||
|
||
|
||
|
@@ -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 | ||
|
@@ -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. | ||
|
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
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 |
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
Oops, something went wrong.