Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{tools}[system] EasyBuild v0.5.0.0beta1 (initial beta release of EasyBuild v5.0.0) #22049

Merged

Conversation

boegel
Copy link
Member

@boegel boegel commented Dec 18, 2024

(created using eb --new-pr)

@boegel boegel added the update label Dec 18, 2024
@boegel boegel marked this pull request as draft December 18, 2024 12:38
Copy link

github-actions bot commented Dec 18, 2024

Updated software EasyBuild-0.5.0.0beta1.eb

Diff against EasyBuild-4.9.4.eb

easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4.eb

diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-0.5.0.0beta1.eb
index 064536bb93..434df6f94d 100644
--- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.4.eb
+++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-0.5.0.0beta1.eb
@@ -1,50 +1,50 @@
 easyblock = 'EB_EasyBuildMeta'
 
 name = 'EasyBuild'
-version = '4.9.4'
+version = '0.5.0.0beta1'
 
-homepage = 'https://easybuilders.github.io/easybuild'
+homepage = 'https://easybuild.io'
 description = """EasyBuild is a software build and installation framework
  written in Python that allows you to install software in a structured,
  repeatable and robust way."""
 
 toolchain = SYSTEM
 
-source_urls = [
-    # easybuild-framework
-    'https://files.pythonhosted.org/packages/bd/25/512d9e895a86f4df198274e8a5f6868406d97cc75da9acc5797f78139b52/',
-    # easybuild-easyblocks
-    'https://files.pythonhosted.org/packages/d7/b0/b9289c78fafc21c5c01b225aeee89c69914166742e5f80955d49ed8f9722/',
-    # easybuild-easyconfigs
-    'https://files.pythonhosted.org/packages/ed/2c/7b2b22235ffe9310a93cbfef06fb3723466aa8ccc4aca4888b59433e55a6/',
-]
-# note: subdirectory for each unpacked source tarball is renamed because custom easyblock in older EasyBuild version
-# that is used for installing EasyBuild with EasyBuild expects subdirectories with '-' rather than '_';
-# see also https://github.com/easybuilders/easybuild-easyblocks/pull/3358
 sources = [
     {
-        'filename': 'easybuild_framework-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_framework-%(version)s easybuild-framework-%(version)s",
+        'filename': 'easybuild-framework-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-framework',
+            'tag': 'easybuild-framework-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
     {
-        'filename': 'easybuild_easyblocks-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_easyblocks-%(version)s easybuild-easyblocks-%(version)s",
+        'filename': 'easybuild-easyblocks-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-easyblocks',
+            'tag': 'easybuild-easyblocks-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
     {
-        'filename': 'easybuild_easyconfigs-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_easyconfigs-%(version)s easybuild-easyconfigs-%(version)s",
+        'filename': 'easybuild-easyconfigs-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-easyconfigs',
+            'tag': 'easybuild-easyconfigs-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
 ]
-patches = ['EasyBuild-4.9.4_fix-riscv-toolchain-opts-typo.patch']
 checksums = [
-    {'easybuild_framework-4.9.4.tar.gz': '5b380a2e3a359f64f06789c390200b922a840f6b10b441e5163696a34bd9bc27'},
-    {'easybuild_easyblocks-4.9.4.tar.gz': '1272f1e294090caafde8cbda72ae344ef400fdd161163781f67b3cffe761dd62'},
-    {'easybuild_easyconfigs-4.9.4.tar.gz': 'beee4e098f5fee18f2029d6a0b893549aba26e075b147cc0008cb16fd4c8d982'},
-    {'EasyBuild-4.9.4_fix-riscv-toolchain-opts-typo.patch':
-     '602d9abfdd90f435bdc877b1d2710a17ae577c790914e7bf61428dc7073ad1b6'},
+    None,
+    None,
+    None,
 ]
 
-# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?)
 # EasyBuild is a (set of) Python packages, so it depends on Python
 # usually, we want to use the system Python, so no actual Python dependency is listed
 allow_system_deps = [('Python', SYS_PYTHON_VERSION)]
Diff against EasyBuild-4.9.3.eb

easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.3.eb

diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.3.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-0.5.0.0beta1.eb
index 4059b34221..434df6f94d 100644
--- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.3.eb
+++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-0.5.0.0beta1.eb
@@ -1,47 +1,50 @@
 easyblock = 'EB_EasyBuildMeta'
 
 name = 'EasyBuild'
-version = '4.9.3'
+version = '0.5.0.0beta1'
 
-homepage = 'https://easybuilders.github.io/easybuild'
+homepage = 'https://easybuild.io'
 description = """EasyBuild is a software build and installation framework
  written in Python that allows you to install software in a structured,
  repeatable and robust way."""
 
 toolchain = SYSTEM
 
-source_urls = [
-    # easybuild-framework
-    'https://files.pythonhosted.org/packages/10/a0/e5484d4078f7450042cd7b7a1af24fd3f8d0cb4818f4578e4c322ba488d8/',
-    # easybuild-easyblocks
-    'https://files.pythonhosted.org/packages/ee/40/4f6412917f83429f9389b977903c8905f216cb211c8bf3111f28c3017677/',
-    # easybuild-easyconfigs
-    'https://files.pythonhosted.org/packages/13/95/44d1e10ceaaf08219ef50d1d97d500ba3b6b34f2d76dd1ff64def71612dc/',
-]
-# note: subdirectory for each unpacked source tarball is renamed because custom easyblock in older EasyBuild version
-# that is used for installing EasyBuild with EasyBuild expects subdirectories with '-' rather than '_';
-# see also https://github.com/easybuilders/easybuild-easyblocks/pull/3358
 sources = [
     {
-        'filename': 'easybuild_framework-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_framework-%(version)s easybuild-framework-%(version)s",
+        'filename': 'easybuild-framework-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-framework',
+            'tag': 'easybuild-framework-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
     {
-        'filename': 'easybuild_easyblocks-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_easyblocks-%(version)s easybuild-easyblocks-%(version)s",
+        'filename': 'easybuild-easyblocks-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-easyblocks',
+            'tag': 'easybuild-easyblocks-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
     {
-        'filename': 'easybuild_easyconfigs-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_easyconfigs-%(version)s easybuild-easyconfigs-%(version)s",
+        'filename': 'easybuild-easyconfigs-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-easyconfigs',
+            'tag': 'easybuild-easyconfigs-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
 ]
 checksums = [
-    {'easybuild_framework-4.9.3.tar.gz': '43bbcaa0a7b075eb6483054428ef4b1279a9fc850301171688f86899eaebfff8'},
-    {'easybuild_easyblocks-4.9.3.tar.gz': '4f036be918f88fe2dadba87f15d696e9b4d3f8f06986c675b9fafc77b591649d'},
-    {'easybuild_easyconfigs-4.9.3.tar.gz': 'f7f501c87cb16a8eb393f5e98cb3cd5f8e84314901e81ff50f8140681b415676'},
+    None,
+    None,
+    None,
 ]
 
-# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?)
 # EasyBuild is a (set of) Python packages, so it depends on Python
 # usually, we want to use the system Python, so no actual Python dependency is listed
 allow_system_deps = [('Python', SYS_PYTHON_VERSION)]
Diff against EasyBuild-4.9.2.eb

easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.2.eb

diff --git a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.2.eb b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-0.5.0.0beta1.eb
index cb476c53d7..434df6f94d 100644
--- a/easybuild/easyconfigs/e/EasyBuild/EasyBuild-4.9.2.eb
+++ b/easybuild/easyconfigs/e/EasyBuild/EasyBuild-0.5.0.0beta1.eb
@@ -1,47 +1,50 @@
 easyblock = 'EB_EasyBuildMeta'
 
 name = 'EasyBuild'
-version = '4.9.2'
+version = '0.5.0.0beta1'
 
-homepage = 'https://easybuilders.github.io/easybuild'
+homepage = 'https://easybuild.io'
 description = """EasyBuild is a software build and installation framework
  written in Python that allows you to install software in a structured,
  repeatable and robust way."""
 
 toolchain = SYSTEM
 
-source_urls = [
-    # easybuild-framework
-    'https://files.pythonhosted.org/packages/cc/1f/676fc9e29c68e9c39c6dadf150ab4e5bf4907de4b9afd2bc6e0afd24ab7c/',
-    # easybuild-easyblocks
-    'https://files.pythonhosted.org/packages/5d/85/e8593ceeb00c61253204e74d2a8360076ce016f42d83d33841f8e7de57a1/',
-    # easybuild-easyconfigs
-    'https://files.pythonhosted.org/packages/99/b2/d899b4310bc54a10e0fb46995a2abc333857db16d116f22a53b0313d13d7/',
-]
-# note: subdirectory for each unpacked source tarball is renamed because custom easyblock in older EasyBuild version
-# that is used for installing EasyBuild with EasyBuild expects subdirectories with '-' rather than '_';
-# see also https://github.com/easybuilders/easybuild-easyblocks/pull/3358
 sources = [
     {
-        'filename': 'easybuild_framework-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_framework-%(version)s easybuild-framework-%(version)s",
+        'filename': 'easybuild-framework-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-framework',
+            'tag': 'easybuild-framework-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
     {
-        'filename': 'easybuild_easyblocks-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_easyblocks-%(version)s easybuild-easyblocks-%(version)s",
+        'filename': 'easybuild-easyblocks-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-easyblocks',
+            'tag': 'easybuild-easyblocks-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
     {
-        'filename': 'easybuild_easyconfigs-%(version)s.tar.gz',
-        'extract_cmd': "tar xfvz %s && mv easybuild_easyconfigs-%(version)s easybuild-easyconfigs-%(version)s",
+        'filename': 'easybuild-easyconfigs-v%s.tar.gz' % version[2:],
+        'git_config': {
+            'url': 'https://github.com/easybuilders',
+            'repo_name': 'easybuild-easyconfigs',
+            'tag': 'easybuild-easyconfigs-v%s' % version[2:],
+            'keep_git_dir': True,
+        },
     },
 ]
 checksums = [
-    {'easybuild_framework-4.9.2.tar.gz': 'cc6e0fe7bab2a96d424656ed70bf33e3b083eef5ceaa5d5fed88aa7b91dd3d63'},
-    {'easybuild_easyblocks-4.9.2.tar.gz': '48202a89995a3d0a19228a35e409228bb6aa190ec7d7a7560e449303954953df'},
-    {'easybuild_easyconfigs-4.9.2.tar.gz': '52d6f6378fc331cda8a94ff196d5bd6bb74c8029c973ee6a92763c256571eec7'},
+    None,
+    None,
+    None,
 ]
 
-# order matters a lot, to avoid having dependencies auto-resolved (--no-deps easy_install option doesn't work?)
 # EasyBuild is a (set of) Python packages, so it depends on Python
 # usually, we want to use the system Python, so no actual Python dependency is listed
 allow_system_deps = [('Python', SYS_PYTHON_VERSION)]

@boegel
Copy link
Member Author

boegel commented Dec 18, 2024

We should try and avoid that --install-latest-eb-release will pick up on this, so we many need to be a bit more creative with the version or the easyconfig filename...

@boegel boegel added this to the release after 4.9.4 milestone Dec 18, 2024
@boegel boegel changed the title {tools}[system] EasyBuild v5.0.0beta1 (WIP) {tools}[system] EasyBuild v5.0.0beta1 Dec 24, 2024
@boegel boegel marked this pull request as ready for review December 24, 2024 16:19
@boegel
Copy link
Member Author

boegel commented Dec 24, 2024

@boegelbot please test @ generoso

@boegel boegel changed the title {tools}[system] EasyBuild v5.0.0beta1 {tools}[system] EasyBuild v0.5.0.0beta1 (initial beta release of EasyBuild v5.0.0) Dec 24, 2024
@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on login1

PR test command 'EB_PR=22049 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs /opt/software/slurm/bin/sbatch --job-name test_PR_22049 --ntasks=4 ~/boegelbot/eb_from_pr_upload_generoso.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 14899

Test results coming soon (I hope)...

- notification for comment with ID 2561268460 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegel
Copy link
Member Author

boegel commented Dec 24, 2024

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
node4002.donphan.os - Linux RHEL 8.8, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz, 1 x NVIDIA NVIDIA A2, 545.23.08, Python 3.6.8
See https://gist.github.com/boegel/ad916e9da6878f3982b9e3a734190da0 for a full test report.

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
cns1 - Linux Rocky Linux 8.9, x86_64, Intel(R) Xeon(R) CPU E5-2667 v3 @ 3.20GHz (haswell), Python 3.6.8
See https://gist.github.com/boegelbot/0c143f4cb592ba0b28e3d35ed1fed882 for a full test report.

@boegel
Copy link
Member Author

boegel commented Dec 24, 2024

Test report by @boegel
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
boegels-MBP-M1.local - Darwin UNKNOWN UNKNOWN, AArch64, Apple M1 (m1), Python 3.11.10
See https://gist.github.com/boegel/ce028f1e2f02cfad12f0e5e633cf1540 for a full test report.

@boegel
Copy link
Member Author

boegel commented Dec 24, 2024

@boegelbot please test @ jsc-zen3

@jfgrimm jfgrimm merged commit 51cd066 into easybuilders:develop Dec 24, 2024
10 checks passed
@boegel boegel deleted the 20241218133750_new_pr_EasyBuild500beta1 branch December 24, 2024 16:29
@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=22049 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_22049 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 5477

Test results coming soon (I hope)...

- notification for comment with ID 2561273280 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 1 out of 1 (1 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.19
See https://gist.github.com/boegelbot/dc85a9c89d8a56dd7e71e7f47184c96a for a full test report.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants