Skip to content
Snippets Groups Projects

Container development environment documentation

Merged Ron Tapia requested to merge container_dev into master
2 unresolved threads

Document the container development workflow which is a way of using containers to do gstlal development on systems that support Singularity.

This is purely a documentation MR. This addresses issue #103 (closed)

Edited by Ron Tapia

Merge request reports

Pipeline #361469 passed with warnings

Pipeline passed with warnings for b0777c8e on container_dev

Approval is optional

Merged by Ron TapiaRon Tapia 3 years ago (Feb 25, 2022 6:12pm UTC)

Merge details

  • Changes merged into master with 77b330c1 (commits were squashed).
  • Deleted the source branch.

Pipeline #362980 passed with warnings

Pipeline passed with warnings for 77b330c1 on master

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
9 ## Creating a writable container
10
11 The base of a development environment is a gstlal container. It is typical to start with the
12 current master build. However, you can use the build tools to overwite the install in the container so the
13 choice of branch in your gstlal repository matters more than the container that you start with. The job of
14 the container is to provide a well-defined set of dependencies.
15
16 ```bash
17 singularity build --sandbox --fix-perms CONTAINER_NAME docker://containers.ligo.org/lscsoft/gstlal:master
18 ```
19
20 This will creat a directory named CONTAINER_NAME. That directory is a *singularity container*.
21
22 ## Check out gstlal
23
24 In a directory of your choice.
  • 32
    33 ## Develop
    34
    35 Edit and make changes under your gstlal dir using editors and git outside of the container (or inside if you prefer).
    36
    37 ## Build a component
    38
    39 To build a component:
    40
    41 1. cd to your gstlal directory
    42 2. Run your container:
    43 ```
    44 singularity run --writable -B $TMPDIR CONTAINER_NAME /bin/bash
    45 ```
    46 3. cd to the component directory under your gstlal dir.
    47 4. Initialize the build system for your component. You only need to do this once per container per component directory:
    • Also here we should mention that there are dependencies among the different components so you have to install gstlal first, then gstlal-ugly, then burst, calibration, and inspiral in any order.

    • Please register or sign in to reply
  • Ron Tapia added 1 commit

    added 1 commit

    • db769dba - Changes to address comments in the discussion + some examples

    Compare with previous version

  • Ron Tapia added 1 commit

    added 1 commit

    Compare with previous version

  • Ron Tapia added 15 commits

    added 15 commits

    Compare with previous version

  • Ron Tapia marked this merge request as ready

    marked this merge request as ready

  • merged

  • Ron Tapia mentioned in issue #103 (closed)

    mentioned in issue #103 (closed)

  • Please register or sign in to reply
    Loading