Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
E
easybuild-repository-public-release
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DEEP-SEA
easybuild-repository-public-release
Commits
3ce94ae8
Commit
3ce94ae8
authored
1 year ago
by
Anke Kreuzer
Browse files
Options
Downloads
Patches
Plain Diff
trying to solve the ci problems
parent
2af3c1ea
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
.gitlab-ci.yml
+185
-0
185 additions, 0 deletions
.gitlab-ci.yml
with
185 additions
and
0 deletions
.gitlab-ci.yml
0 → 100644
+
185
−
0
View file @
3ce94ae8
stages
:
-
test
-
deploy
workflow
:
rules
:
-
if
:
'
$CI_PIPELINE_SOURCE
==
"merge_request_event"'
variables
:
TARGET_BRANCH
:
$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
-
if
:
'
$CI_COMMIT_BRANCH
&&
$CI_OPEN_MERGE_REQUESTS'
when
:
never
-
if
:
'
$CI_COMMIT_BRANCH'
variables
:
TARGET_BRANCH
:
'
2023'
check_style
:
stage
:
test
tags
:
[
public-docker
]
image
:
$CI_REGISTRY/easybuild-docker/easybuild-docker/rocky8-eb-test:latest
script
:
-
git config --global --add safe.directory $CI_PROJECT_DIR
-
ml purge && ml EasyBuild
# to load latest EasyBuild dev version
-
ml --version && which -a eb && eb --version && eb --show-system-info
-
export SYSTEMNAME="juwelsbooster"
# Make this the default for packages like NVHPC
-
export EASYBUILD_INCLUDE_EASYBLOCKS="$CI_PROJECT_DIR/Custom_EasyBlocks/*.py,$CI_PROJECT_DIR/Custom_EasyBlocks/generic/*.py"
-
export EASYBUILD_INCLUDE_MODULE_NAMING_SCHEMES="$CI_PROJECT_DIR/Custom_MNS/*.py"
-
export EASYBUILD_INCLUDE_TOOLCHAINS="$CI_PROJECT_DIR/Custom_Toolchains/*.py"
-
export EASYBUILD_ROBOT="$CI_PROJECT_DIR/Golden_Repo"
-
export EASYBUILD_HOOKS="$CI_PROJECT_DIR/Custom_Hooks/eb_hooks.py"
# Let's make this a system where all the packages can be installed, so all of them can be checked without aborting
-
export LMOD_SYSTEM_NAME="juwels"
-
OVERLAYS=$(ls Overlays)
-
for i in $OVERLAYS; do
-
export EASYBUILD_ROBOT="$EASYBUILD_ROBOT:$CI_PROJECT_DIR/Overlays/$i"
-
done
-
export EASYBUILD_MODULE_NAMING_SCHEME="FlexibleCustomHierarchicalMNS"
-
export EASYBUILD_MODULECLASSES="astro,base,bio,cae,chem,compiler,data,debugger,devel,"
-
export EASYBUILD_MODULECLASSES=$EASYBUILD_MODULECLASSES"geo,ide,lang,lib,math,mpi,numlib,perf,phys,quantum,sidecompiler,"
-
export EASYBUILD_MODULECLASSES=$EASYBUILD_MODULECLASSES"system,toolchain,tools,vis"
-
export EASYBUILD_CUDA_COMPUTE_CAPABILITIES="8.0"
-
faulty=""
-
export TIP_COMMIT=$CI_COMMIT_SHA
-
if [ "x$CI_COMMIT_BRANCH" = "x$TARGET_BRANCH" ]; then
-
export BASE_COMMIT=$CI_COMMIT_BEFORE_SHA
-
else
-
export BASE_COMMIT=$(git merge-base "$TIP_COMMIT" "origin/$TARGET_BRANCH")
-
fi
-
printf "Checking changes between base %s (%s) and tip %s (%s)\n" "$BASE_COMMIT" "$(git describe --all --exclude pipeline/* $BASE_COMMIT 2> /dev/null)" "$TIP_COMMIT" "$(git describe --all --exclude pipeline/* $TIP_COMMIT 2> /dev/null)"
-
eb_list=$(git diff-tree --no-commit-id -r "$BASE_COMMIT" "$TIP_COMMIT" | awk '$5 ~ /^M|^A/ && $6 ~ /eb$/ {print($6)}')
-
echo "List of files to be checked $eb_list"
-
for i in $eb_list; do
-
echo "Checking $(basename $i) ..."
-
if [[ $(basename $i) == *AMBER* ]]; then
-
sg amber -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg amber -c "eb --dry-run $i" || faulty="$faulty $i"
-
elif [[ $(basename $i) == *CPMD* ]]; then
-
sg cpmd -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg cpmd -c "eb --dry-run $i" || faulty="$faulty $i"
-
elif [[ $(basename $i) == *NAMD* ]]; then
-
sg namd -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg namd -c "eb --dry-run $i" || faulty="$faulty $i"
-
elif [[ $(basename $i) == *Turbomole* ]]; then
-
sg turbomol -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg turbomol -c "eb --dry-run $i" || faulty="$faulty $i"
-
else
-
eb --check-style --check-contrib $i || faulty="$faulty $i"
-
eb --dry-run $i || faulty="$faulty $i"
-
fi
-
done
-
if [ -n "$faulty" ]; then echo "Faulty EasyConfigs... $faulty"; exit 1; fi
full_check_style
:
when
:
manual
stage
:
test
tags
:
[
public-docker
]
image
:
$CI_REGISTRY/easybuild-docker/easybuild-docker/rocky8-eb-test:latest
script
:
-
ml purge && ml EasyBuild
# to load latest EasyBuild dev version
-
export SYSTEMNAME="juwelsbooster"
# Make this the default for packages like NVHPC
-
export EASYBUILD_INCLUDE_EASYBLOCKS="$CI_PROJECT_DIR/Custom_EasyBlocks/*.py,$CI_PROJECT_DIR/Custom_EasyBlocks/generic/*.py"
-
export EASYBUILD_INCLUDE_MODULE_NAMING_SCHEMES="$CI_PROJECT_DIR/Custom_MNS/*.py"
-
export EASYBUILD_INCLUDE_TOOLCHAINS="$CI_PROJECT_DIR/Custom_Toolchains/*.py"
-
export EASYBUILD_ROBOT="$CI_PROJECT_DIR/Golden_Repo"
-
export EASYBUILD_HOOKS="$CI_PROJECT_DIR/Custom_Hooks/eb_hooks.py"
# Let's make this a system where all the packages can be installed, so all of them can be checked without aborting
-
export LMOD_SYSTEM_NAME="juwels"
-
OVERLAYS=$(ls Overlays)
-
for i in $OVERLAYS; do
-
export EASYBUILD_ROBOT="$EASYBUILD_ROBOT:$CI_PROJECT_DIR/Overlays/$i"
-
done
-
export EASYBUILD_MODULE_NAMING_SCHEME="FlexibleCustomHierarchicalMNS"
-
export EASYBUILD_MODULECLASSES="astro,base,bio,cae,chem,compiler,data,debugger,devel,"
-
export EASYBUILD_MODULECLASSES=$EASYBUILD_MODULECLASSES"geo,ide,lang,lib,math,mpi,numlib,perf,phys,quantum,sidecompiler,"
-
export EASYBUILD_MODULECLASSES=$EASYBUILD_MODULECLASSES"system,toolchain,tools,vis"
-
export EASYBUILD_CUDA_COMPUTE_CAPABILITIES="8.0"
-
for i in $(find Golden_Repo -name "*.eb"); do
-
echo "Checking $(basename $i) ..."
-
if [[ $(basename $i) == *AMBER* ]]; then
-
sg amber -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg amber -c "eb --dry-run $i" || faulty="$faulty $i"
-
elif [[ $(basename $i) == *CPMD* ]]; then
-
sg cpmd -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg cpmd -c "eb --dry-run $i" || faulty="$faulty $i"
-
elif [[ $(basename $i) == *NAMD* ]]; then
-
sg namd -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg namd -c "eb --dry-run $i" || faulty="$faulty $i"
-
elif [[ $(basename $i) == *Turbomole* ]]; then
-
sg turbomol -c "eb --check-style --check-contrib $i" || faulty="$faulty $i"
-
sg turbomol -c "eb --dry-run $i" || faulty="$faulty $i"
-
else
-
eb --check-style --check-contrib $i || faulty="$faulty $i"
-
eb --dry-run $i || faulty="$faulty $i"
-
fi
-
done
-
if [ -n "$faulty" ]; then echo "Faulty EasyConfigs... $faulty"; exit 1; fi
sync_repo_on_HPC
:
stage
:
deploy
tags
:
-
jacamar
-
shell
script
:
-
cd /p/fastdata/zam/swmanage/EasyBuild/$TARGET_BRANCH
-
hostname
-
echo 'Pulling branch '$TARGET_BRANCH
-
git pull https://$GITLAB_USER:$GITLAB_TOKEN@gitlab.jsc.fz-juelich.de/software-team/easybuild.git $TARGET_BRANCH
rules
:
-
if
:
'
$CI_PROJECT_NAMESPACE
==
"software-team"
&&
$CI_COMMIT_BRANCH
==
$TARGET_BRANCH'
update_acls
:
stage
:
deploy
parallel
:
matrix
:
-
SYSTEM
:
-
juwels
-
juwels_booster
-
jurecadc
-
jusuf
-
hdfml
tags
:
-
jacamar
-
${SYSTEM}
-
shell
needs
:
[
'
sync_repo_on_HPC'
]
script
:
-
hostname
-
ml Stages/$TARGET_BRANCH
-
pushd /p/fastdata/zam/swmanage/EasyBuild/$STAGE/bin
-
./setacls -c ../acls.yml --force -m
rules
:
-
if
:
'
$CI_PROJECT_NAMESPACE
==
"software-team"
&&
$CI_COMMIT_BRANCH
==
$TARGET_BRANCH'
changes
:
-
'
acls.yml'
push_public_mirror
:
stage
:
deploy
tags
:
-
jacamar
-
juwels_booster
-
shell
needs
:
[
'
sync_repo_on_HPC'
]
script
:
-
hostname
-
ml Stages/$TARGET_BRANCH
-
cd /p/project/cswmanage/easybuilders-JSC/$TARGET_BRANCH
-
git pull
-
./filter.sh
-
git add -A
-
git commit -a -m "Sync"
-
git push https://$GITHUB_USER:$GITHUB_TOKEN@github.com/easybuilders/JSC.git
rules
:
-
if
:
'
$CI_PROJECT_NAMESPACE
==
"software-team"
&&
$CI_COMMIT_BRANCH
==
$TARGET_BRANCH'
when
:
manual
pull_public_mirror
:
stage
:
deploy
tags
:
-
jacamar
-
shell
script
:
-
hostname
-
cd /p/usersoftware/swmanage/user_installations/$TARGET_BRANCH/
-
git pull
rules
:
-
if
:
'
$CI_PROJECT_NAMESPACE
==
"software-team"
&&
$CI_COMMIT_BRANCH
==
$TARGET_BRANCH'
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment