Skip to content
Snippets Groups Projects

Convert to a package

Merged Ashwin Kumar Karnad requested to merge convert-to-a-package into main

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 1 commit

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • added 2 commits

    Compare with previous version

  • added 1 commit

    • a65000ab - ignore python build artifacts

    Compare with previous version

  • I think the basic restructuring is done, The package right now builds ( atleast on my laptop ) The resulting build is installable and callable from anywhere! What are your thoughts on the design choices @hans.fangohr @martin.lang

    ❯ conda activate test-mpsd-installer
    ❯ pip install dist/mpsd_software_manager-2023.6.14.tar.gz
    Processing ./dist/mpsd_software_manager-2023.6.14.tar.gz
      Installing build dependencies ... done
      Getting requirements to build wheel ... done
      Installing backend dependencies ... done
      Preparing metadata (pyproject.toml) ... done
    Collecting archspec (from mpsd-software-manager==2023.6.14)
      Using cached archspec-0.2.1-py3-none-any.whl (53 kB)
    Requirement already satisfied: rich in /home/karnada/.local/lib/python3.11/site-packages (from mpsd-software-manager==2023.6.14) (13.3.5)
    Requirement already satisfied: markdown-it-py<3.0.0,>=2.2.0 in /home/karnada/.local/lib/python3.11/site-packages (from rich->mpsd-software-manager==2023.6.14) (2.2.0)
    Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/karnada/.local/lib/python3.11/site-packages (from rich->mpsd-software-manager==2023.6.14) (2.15.1)
    Requirement already satisfied: mdurl~=0.1 in /home/karnada/.local/lib/python3.11/site-packages (from markdown-it-py<3.0.0,>=2.2.0->rich->mpsd-software-manager==2023.6.14) (0.1.2)
    Building wheels for collected packages: mpsd-software-manager
      Building wheel for mpsd-software-manager (pyproject.toml) ... done
      Created wheel for mpsd-software-manager: filename=mpsd_software_manager-2023.6.14-py3-none-any.whl size=16223 sha256=2abbfab1cce7825e8ed096e5786c7cb8c50ee0c4e144989c344880fa1f30b5ad
      Stored in directory: /home/karnada/.cache/pip/wheels/9d/1b/a2/25edcb4684ccde5e80e1198b09b7d45ab9c49fc95f85359119
    Successfully built mpsd-software-manager
    Installing collected packages: archspec, mpsd-software-manager
    Successfully installed archspec-0.2.1 mpsd-software-manager-2023.6.14
    cd /tmp
    ❯ mpsd-software -j
    usage: mpsd-software [-h] [-l {warning,info,debug}] [--version] {available,install,status,prepare} ...
    mpsd-software: error: the following arguments are required: action
    ❯ mpsd-software -h
    usage: mpsd-software [-h] [-l {warning,info,debug}] [--version] {available,install,status,prepare} ...
    
    Build software as on MPSD HPC.
    
        This tool builds software package sets (including toolchains for Octopus).
        It follows recipes as used on the MPSD HPC system and the (spack-based)
        Octopus buildbot. Compiled software is organised into MPSD software release
        versions (such as `dev-23a`) and CPU microarchitecture (such as `sandybridge`).
        
        Compiled packages and toolchains can be activated and used via `module load` as
        on the HPC system.
        
        Further documentation is available in the README.rst file, online at
        https://gitlab.gwdg.de/mpsd-cs/mpsd-software-manager/-/blob/main/README.rst
    
    Command line usage:
    
       $> /home/karnada/micromamba/envs/test-mpsd-installer/bin/mpsd-software
    
    options:
      -h, --help            show this help message and exit
      -l {warning,info,debug}
                            Set the log level
      --version             show program's version number and exit
    
    actions:
      valid actions
    
      {available,install,status,prepare}
        available           What is available for installation?
        install             Install a software environment
        status              Show status: what is installed?
        prepare             Prepare installation of MPSD-release (dev only)
    
    Examples:
    
        1. Query what package sets and toolchains are available for installation in
           release dev-23a
        
           $> /home/karnada/micromamba/envs/test-mpsd-installer/bin/mpsd-software available dev-23a
        
        2. Install foss2022a-serial toolchain from the dev-23a release
        
           $> /home/karnada/micromamba/envs/test-mpsd-installer/bin/mpsd-software install dev-23a foss2022a-serial
        
        3. Check what package sets and toolchains are installed from release dev-23a
        
           $> /home/karnada/micromamba/envs/test-mpsd-installer/bin/mpsd-software status dev-23a
        
           The `status` command also displays the `module use` command needed to load
           the created modules.
    ❯ mpsd-software available
    usage: mpsd-software available [-h] release
    mpsd-software available: error: the following arguments are required: release
    ❯ mpsd-software available dev-23a
    MPSD software release dev-23a, AVAILABLE for installation are
    Toolchains: 
        foss2021a-cuda-mpi
        foss2021a-mpi
        foss2021a-serial
        foss2022a-cuda-mpi
        foss2022a-mpi
        foss2022a-serial
    Package sets:
        global_generic (anaconda3@2022.10)  
        global (octopus@12.1, octopus@12.1)  
  • added 1 commit

    Compare with previous version

  • added 1 commit

    • e06e9423 - fix script hash not found when calling script as installed package

    Compare with previous version

  • added 1 commit

    • e4d52a71 - rename tests for consistency

    Compare with previous version

  • added 1 commit

    • 8cf6fd0f - rename tests for consistency

    Compare with previous version

  • added 1 commit

    • aa4e8033 - update broken test ( not part of migration)

    Compare with previous version

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading