Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • steffen.grunewald/gstlal
  • sumedha.biswas/gstlal
  • spiir-group/gstlal
  • madeline-wade/gstlal
  • hunter.schuler/gstlal
  • adam-mercer/gstlal
  • amit.reza/gstlal
  • alvin.li/gstlal
  • duncanmmacleod/gstlal
  • rebecca.ewing/gstlal
  • javed.sk/gstlal
  • leo.tsukada/gstlal
  • brian.bockelman/gstlal
  • ed-maros/gstlal
  • koh.ueno/gstlal
  • leo-singer/gstlal
  • lscsoft/gstlal
17 results
Show changes
Commits on Source (3141)
Showing
with 543 additions and 299 deletions
*.gwf filter=lfs diff=lfs merge=lfs -text
......@@ -28,4 +28,8 @@ configure
*/gnuscripts/missing
*/gnuscripts/py-compile
*/gnuscripts/test-driver
*/tests/*.log
*/tests/*.trs
libtool
.vscode
.idea
# This is a Dockerfile to build an EL7 MKL-optimized GstLAL
# runtime container.
FROM containers.ligo.org/alexander.pace/gstlal-dev/gstlal-dev:el7-testing
# Labeling/packaging stuff:
LABEL name="GstLAL Runtime Package, EL7 Testing" \
maintainer="Alexander Pace <alexander.pace@ligo.org>" \
date="2020-05-06" \
support="Reference Platform, EL7 (Testing)"
USER root
## Copy Optimized RPMs to container
COPY rpms /rpms
# Install Optimized RPMs, delete old RPMs
RUN GLOBIGNORE="*calibration*" && \
yum makecache && \
yum -y localinstall /rpms/*.rpm && \
unset GLOBIGNORE
# Update gstreamer registry cache:
ENV GST_REGISTRY_1_0=/usr/share/gstreamer-1.0/.registry.bin
RUN gst-inspect-1.0
# Clean up and close-out
#RUN rm -rf /rpms && \
RUN yum clean all
# Export MKL environment variables:
ENV MKL_INTERFACE_LAYER LP64
ENV MKL_THREADING_LAYER SEQUENTIAL
ENV GSTLAL_FIR_WHITEN 0
ENV TMPDIR /tmp
ENTRYPOINT bash
ARG lalsuite_version_tag
FROM containers.ligo.org/gstlal/gstlal-dev:$lalsuite_version_tag
# Labeling/packaging stuff:
LABEL name="GstLAL Runtime Package, RL8" \
maintainer="Alexander Pace <alexander.pace@ligo.org>" \
date="2022-05-03" \
support="Reference Platform, RL8"
USER root
## Copy Optimized RPMs to container
COPY rpms /rpms
# Install Optimized RPMs, delete old RPMs
RUN sed -i "s|http://|https://|" /etc/yum.repos.d/*.repo
RUN yum makecache && \
yum -y localinstall /rpms/*.rpm
# Update gstreamer registry cache:
ENV GST_REGISTRY_1_0=/usr/share/gstreamer-1.0/.registry.bin
RUN gst-inspect-1.0
# Clean up and close-out
RUN rm -rf /rpms && \
yum clean all
# Export MKL environment variables:
ENV MKL_INTERFACE_LAYER LP64
ENV MKL_THREADING_LAYER SEQUENTIAL
ENV GSTLAL_FIR_WHITEN 0
ENV TMPDIR /tmp
ENTRYPOINT bash
image: docker:latest
variables:
# Set the gstlal-dev version tag, which corresponds to a tagged
# version of lalsuite. A list of available tags is available in the
# gstlal-dev container registry:
#
# https://git.ligo.org/gstlal/gstlal-dev/container_registry/809
LALSUITE_VERSION_TAG: "lalsuite-master-x86_64"
# Docker pipeline variables:
DOCKER_DRIVER: overlay
DOCKER_BRANCH: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
DOCKER_LATEST: $CI_REGISTRY_IMAGE:latest
BRANCH: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME
COMMIT: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
NIGHTLY: $CI_REGISTRY_IMAGE:nightly
TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
GSTLAL_DIR: $CI_PROJECT_DIR/opt/gstlal
# don't need git history
GIT_DEPTH: 1
# GstLAL pipeline-specific runtime variables.
TMPDIR: /tmp
GSTLAL_FIR_WHITEN: 0
before_script:
# Set up directory structure and copy over built-dependencies from container:
- mkdir public
- mkdir -p ${GSTLAL_DIR}
- cp -r /opt/gstlal/* ${GSTLAL_DIR}/
# Update apt info
- apt update
# Define GstLAL build parameters:
- export PATH="${GSTLAL_DIR}/bin:/usr/lib/ccache:/opt/local/libexec/ccache:${PATH}"
- export LD_LIBRARY_PATH="${GSTLAL_DIR}/lib:${GSTLAL_DIR}/lib64:${LD_LIBRARY_PATH}"
- export LIBRARY_PATH="${GSTLAL_DIR}/lib:${GSTLAL_DIR}/lib64:${LIBRARY_PATH}"
- export PKG_CONFIG_PATH="${GSTLAL_DIR}/lib/pkgconfig:${GSTLAL_DIR}/lib64/pkgconfig:${PKG_CONFIG_PATH}"
- export GI_TYPELIB_PATH="${GSTLAL_DIR}/lib/girepository-1.0:${GSTLAL_DIR}/lib64/girepository-1.0:${GI_TYPELIB_PATH}"
- export GST_PLUGIN_PATH="${GSTLAL_DIR}/lib/gstreamer-1.0:${GSTLAL_DIR}/lib64/gstreamer-1.0:${GST_PLUGIN_PATH}"
- export PYTHONPATH="${GSTLAL_DIR}/lib64/python2.7/site-packages:${GSTLAL_DIR}/lib/python2.7/site-packages:${PYTHONPATH}"
- export GST_REGISTRY_1_0="${GSTLAL_DIR}/registry.bin"
- export CCACHE_DIR=${PWD}/ccache
# Define MKL environment variables:
- export MKLROOT="/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl"
- export LIBRARY_PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/tbb/lib/intel64_lin/gcc4.7:/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/lib/intel64_lin"
- export CPATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/include"
- export PATH=PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/bin/intel64:${PATH}"
- export PKG_CONFIG_PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/bin/pkgconfig:${PKG_CONFIG_PATH}"
- export LD_LIBRARY_PATH="/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2018.3.222/linux/tbb/lib/intel64_lin/gcc4.7:/opt/intel/compilers_and_libraries_2018.3.222/linux/compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2018.3.222/linux/mkl/lib/intel64_lin"
# Define build and linking parameters:
- export CFLAGS="-O3 -fPIC -DMKL_ILP64 -m64 -I${MKLROOT}/include -I${GSTLAL_DIR}/include"
- export LDFLAGS="-L${GSTLAL_DIR}/lib -L${MKLROOT}/lib/intel64 -Wl,--no-as-needed -lmkl_intel_ilp64 -lmkl_sequential -lmkl_core -lpthread -lm -ldl"
- export GSTLAL_FIR_WHITEN=0
- sed -i 's|http://|https://|' /etc/yum.repos.d/*.repo
- if [ -d ${CI_PROJECT_DIR}/rpmbuild/RPMS ]; then yum -y install ${CI_PROJECT_DIR}/rpmbuild/RPMS/*/*.rpm; fi
cache:
key: $CI_JOB_NAME
paths:
- ccache
stages:
- level0
- level1
- level2
- offline-test
- nightly-pages
level0:gstlal:
image: aepace/gstlal-dev:stretch-mkl
stage: level0
- deps
- level0
- level1
- level2
- docker
- docker-latest
- test-gstlal
- test-gstlal-full-build
- test-gstlal-ugly
- test-burst
- test-inspiral
- test-offline
- docs
- nightly-pages
#
# build rpms
#
.levelN:rpm: &levelN-rpm-package
interruptible: true
image: containers.ligo.org/gstlal/gstlal-dev:${LALSUITE_VERSION_TAG}
variables:
GIT_STRATEGY: fetch
RPM_BUILD_CPUS: 4
script:
- echo $GSTLAL_FIR_WHITEN
- cd gstlal
- if [ -d rpmbuild ]; then yum -y install rpmbuild/RPMS/x86_64/*.rpm; fi
- cd ${CI_JOB_NAME#level?:rpm:}
- ./00init.sh
- ./configure --prefix=${GSTLAL_DIR}
- ./configure --enable-gtk-doc $EXTRA_CONFIG_FLAGS
- make
- make install
- make dist
# Install dependencies
- yum-builddep -y ${CI_JOB_NAME#level?:rpm:}.spec
- rpmbuild -tb -D "_topdir ${CI_PROJECT_DIR}/rpmbuild" -D 'debug_package %{nil}' -D 'build_cflags ${CFLAGS}' -D 'build_ldflags ${LDFLAGS}' ${CI_JOB_NAME#level?:rpm:}-*.tar.gz
artifacts:
expire_in: 3h
expire_in: 18h
paths:
- ${GSTLAL_DIR}
- gstlal
- ${CI_PROJECT_DIR}/rpmbuild/RPMS/
only:
- pushes
- schedules
level1:gstlal-ugly:
image: aepace/gstlal-dev:stretch-mkl
- tags
- pushes
- web
level0:rpm:gstlal:
<<: *levelN-rpm-package
stage: level0
needs: [ ]
level1:rpm:gstlal-ugly:
<<: *levelN-rpm-package
stage: level1
dependencies:
- level0:gstlal
needs:
- level0:rpm:gstlal
level2:rpm:gstlal-inspiral:
<<: *levelN-rpm-package
stage: level2
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
variables:
EXTRA_CONFIG_FLAGS: "--disable-massmodel"
level2:rpm:gstlal-burst:
<<: *levelN-rpm-package
stage: level2
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
# Docker Images
.docker:rpm: &docker-rpm
interruptible: true
stage: docker
before_script: [ ]
script:
- cd gstlal-ugly
- ./00init.sh
- ./configure --prefix=${GSTLAL_DIR}
- make
- make install
artifacts:
expire_in: 3h
paths:
- ${GSTLAL_DIR}
- gstlal-ugly
# add RPMs to directory to pass to docker
- mkdir rpms
# Copy rpms to new container.
- mv rpmbuild/RPMS/x86_64/*.rpm rpms
# Clear out the old rpmbuild directory
- rm -rf rpmbuild*
# Build the container:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build --pull -t $DOCKER_BRANCH --build-arg lalsuite_version_tag="${LALSUITE_VERSION_TAG}" --file .gitlab-ci.Dockerfile.rl8 .
- docker push $DOCKER_BRANCH
only:
- pushes
- schedules
- pushes
level2:gstlal-calibration:
image: aepace/gstlal-dev:stretch-mkl
stage: level2
dependencies:
- level1:gstlal-ugly
docker:rl8:
<<: *docker-rpm
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
- level2:rpm:gstlal-inspiral
- level2:rpm:gstlal-burst
except:
- /gstlal-([a-z]+-|)[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+/
docker:release:gstlal:rl8:
<<: *docker-rpm
needs:
- level0:rpm:gstlal
only:
- /gstlal-[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+/
docker:release:gstlal-ugly:rl8:
<<: *docker-rpm
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
only:
- /gstlal-ugly-[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+/
docker:release:gstlal-inspiral:rl8:
<<: *docker-rpm
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
- level2:rpm:gstlal-inspiral
only:
- /gstlal-inspiral-[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+/
docker:release:gstlal-burst:rl8:
<<: *docker-rpm
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
- level2:rpm:gstlal-burst
only:
- /gstlal-burst-[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+/
latest_image:
interruptible: true
stage: docker-latest
before_script: [ ]
needs:
- docker:release:gstlal-inspiral:rl8
only:
- /gstlal-inspiral-[0-9]+\.[0-9]+\.[0-9]+-v[0-9]+/
script:
- cd gstlal-calibration
- ./00init.sh
- ./configure --prefix=${GSTLAL_DIR}
- make
- make install
artifacts:
expire_in: 3h
paths:
- ${GSTLAL_DIR}
- gstlal-calibration
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker tag $DOCKER_BRANCH $DOCKER_LATEST
- docker push $DOCKER_LATEST
retry:
max: 2
# test stages (rl8)
test:gstlal:rl8:
interruptible: true
image: containers.ligo.org/gstlal/gstlal-dev:${LALSUITE_VERSION_TAG}
stage: test-gstlal
needs:
- level0:rpm:gstlal
script:
- export GSTLAL_FIR_WHITEN=0
- gst-inspect-1.0
# Get the necessary ROM data:
- git clone https://git.ligo.org/alexander.pace/gstlal-testing-data.git ${GSTLAL_DIR}/gstlal-testing-data
- export LAL_DATA_PATH=${GSTLAL_DIR}/gstlal-testing-data/
# Run doctests
- cd gstlal
- python3 -m pytest -c pytest.ini -m "not requires_full_build"
only:
- schedules
- pushes
allow_failure: true
test:gstlal-full-build:rl8:
interruptible: true
image: containers.ligo.org/gstlal/gstlal-dev:${LALSUITE_VERSION_TAG}
stage: test-gstlal-full-build
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
- level2:rpm:gstlal-burst
- level2:rpm:gstlal-inspiral
script:
- export GSTLAL_FIR_WHITEN=0
- gst-inspect-1.0
# Run doctests
- cd gstlal
- python3 -m pytest -c pytest.ini -m "requires_full_build"
only:
- schedules
- pushes
allow_failure: true
level2:gstlal-inspiral:
image: aepace/gstlal-dev:stretch-mkl
stage: level2
dependencies:
- level1:gstlal-ugly
test:gstlal-inspiral:rl8:
interruptible: true
image: containers.ligo.org/gstlal/gstlal-dev:${LALSUITE_VERSION_TAG}
stage: test-inspiral
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
- level2:rpm:gstlal-inspiral
script:
- export GSTLAL_FIR_WHITEN=0
- gst-inspect-1.0
# Run doctests
- cd gstlal-inspiral
- ./00init.sh
- ./configure --prefix=${GSTLAL_DIR}
- make
- make install
artifacts:
expire_in: 3h
paths:
- ${GSTLAL_DIR}
- gstlal-inspiral
- python3 -m pytest -c pytest.ini
only:
- schedules
- pushes
allow_failure: true
test:gstlal-ugly:rl8:
interruptible: true
image: containers.ligo.org/gstlal/gstlal-dev:${LALSUITE_VERSION_TAG}
stage: test-gstlal-ugly
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
script:
# Install RPMs and set up the test environment:
- export GSTLAL_FIR_WHITEN=0
- gst-inspect-1.0
# Run doctests
- cd gstlal-ugly
- python3 -m pytest -c pytest.ini
only:
- schedules
level2:gstlal-burst:
image: aepace/gstlal-dev:stretch-mkl
stage: level2
dependencies:
- level1:gstlal-ugly
- pushes
allow_failure: true
test:gstlal-burst:rl8:
interruptible: true
image: containers.ligo.org/gstlal/gstlal-dev:${LALSUITE_VERSION_TAG}
stage: test-burst
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
- level2:rpm:gstlal-burst
- level2:rpm:gstlal-inspiral
script:
- export GSTLAL_FIR_WHITEN=0
- gst-inspect-1.0
- cd gstlal-burst
- ./00init.sh
- ./configure --prefix=${GSTLAL_DIR}
- make
- make install
artifacts:
expire_in: 3h
paths:
- ${GSTLAL_DIR}
- gstlal-burst
when: always
- python3 -m pytest -c pytest.ini
only:
- pushes
- schedules
offline-test:
image: aepace/gstlal-dev:stretch-mkl
stage: offline-test
dependencies:
- level2:gstlal-inspiral
- pushes
allow_failure: true
test:offline:rl8:
interruptible: true
image: containers.ligo.org/gstlal/gstlal-dev:${LALSUITE_VERSION_TAG}
stage: test-offline
needs:
- level0:rpm:gstlal
- level1:rpm:gstlal-ugly
- level2:rpm:gstlal-inspiral
- level2:rpm:gstlal-burst
- test:gstlal:rl8
- test:gstlal-inspiral:rl8
- test:gstlal-burst:rl8
script:
# Set up directory structure and copy over built-dependencies from container:
- mkdir public
# Install RPMs and set up the test environment:
- gst-inspect-1.0
# Export variables for the offline tutorial
- export LAL_PATH=/usr
- export USER=gstlal_CI_test
- export PYTHONUNBUFFERED=1
- yum -y install bc
# Get the necessary ROM data:
- git clone https://git.ligo.org/alexander.pace/gstlal-testing-data.git ${GSTLAL_DIR}/gstlal-testing-data
- export LAL_DATA_PATH=${GSTLAL_DIR}/gstlal-testing-data/
- cd gstlal-inspiral/tests
- make -f Makefile_offline_tutorial_test
# Run the makefile:
- make -f Makefile.offline_tutorial_test ENABLE_PLOTTING=0
# Back-up the results docs:
#- cp -rf ./WEBDIR/gstlal_offline_tutorial ../../public/
#artifacts:
# expire_in: 24h
# paths:
# - gstlal-inspiral/tests/WEBDIR/gstlal_offline_tutorial
# - public
# when: always
only:
- schedules
- pushes
allow_failure: true
# Documentation
docs:
interruptible: true
image: $DOCKER_BRANCH
stage: docs
before_script: [ ]
script:
- |
yum install -y dvipng texlive-pdftex
python3 -m pip install sphinx myst-parser sphinx-rtd-theme
mkdir -p docs/
cd doc; make html IS_CI=1
cd ..; cp -rf doc/_build/* docs/
needs:
- docker:rl8
artifacts:
expire_in: 3h
paths:
- gstlal-inspiral/tests
- docs
only:
- pushes
- schedules
allow_failure: true
pages:
image: aepace/gstlal-dev:stretch-mkl
interruptible: true
stage: nightly-pages
before_script: [ ]
script:
- echo "Building Documentation"
# Download and install sphynx, texlive, etc. I'm installing these here
# since they don't need to be part of the dev container for running, only
# for building documentation. This shaves ~600MB off the size of the gstlal-dev
# container:
- apt-get install --assume-yes python-sphinx texlive-base texlive-binaries texlive-extra-utils texlive-font-utils texlive-fonts-extra texlive-fonts-extra-doc texlive-fonts-recommended
- apt-get install --assume-yes texlive-fonts-recommended-doc texlive-generic-extra texlive-generic-recommended texlive-latex-base texlive-latex-base-doc texlive-latex-extra
- apt-get install --assume-yes texlive-latex-extra-doc texlive-latex-recommended texlive-latex-recommended-doc texlive-pictures texlive-pictures-doc texlive-pstricks texlive-pstricks-doc texlive-science texlive-science-doc
- export TMPDIR=tmp/
- cd doc; make html
- cd ..; cp -rf doc/_build/* public/
dependencies:
- level2:gstlal-inspiral
- level2:gstlal-calibration
# copy doc artifacts
- mkdir -p public/
- cp -r docs/* public/
needs:
- docs
artifacts:
paths:
- public
......
#################################################################
# GstLAL Codeowners Specification #
#################################################################
#################################################################
# Repository-Level Files #
#################################################################
# Workflow files
.gitignore @kipp.cannon @chad-hanna @alexander.pace @patrick.godwin
.gitlab-ci.yml @kipp.cannon @chad-hanna @alexander.pace @patrick.godwin
.gitlab/CODEOWNERS @kipp.cannon @chad-hanna @alexander.pace @patrick.godwin
# Catch-all rule for repo (will be overridden by a more specific rule below)
* @kipp.cannon @chad-hanna @alexander.pace @patrick.godwin
#################################################################
# GstLAL Package Files #
#################################################################
# Package catch-all
gstlal/ @kipp.cannon @chad-hanna @alexander.pace @patrick.godwin
# Specific modules
gstlal/python/datasource.py @kipp.cannon @chad-hanna @alexander.pace @patrick.godwin @james.kennington
#################################################################
# GstLAL-Ugly Package Files #
#################################################################
# Package catch-all
gstlal-ugly/ @kipp.cannon @chad-hanna @alexander.pace @leo.tsukada @cody.messick @patrick.godwin
# GST Plugins
gstlal-ugly/gst/framecpp/ @kipp.cannon @ed-maros
gstlal-ugly/gst/gds/ @kipp.cannon @ed-maros
gstlal-ugly/gst/nds/ @kipp.cannon @ed-maros
#################################################################
# GstLAL-Burst Package Files #
#################################################################
# Package catch-all
gstlal-burst/ @patrick.godwin
# Cosmic String
gstlal-burst/gst/lal/gstlal_string_triggergen.* @daichi.tsuna
gstlal-burst/python/string/ @daichi.tsuna
#################################################################
# GstLAL-Inspiral Package Files #
#################################################################
# Package catch-all
gstlal-inspiral/ @kipp.cannon @chad-hanna @alexander.pace @leo.tsukada @cody.messick @patrick.godwin
# Start with the lalsuite nightly container:
FROM containers.ligo.org/lscsoft/lalsuite:nightly
# Labeling/packaging stuff:
LABEL name="GstLAL Development Package, Debian" \
maintainer="Alexander Pace <alexander.pace@ligo.org>" \
date="20180521" \
support="Reference Platform, Stretch"
# Set up the base user and build environment:
# Note that I've had to install the following packages to get things to
# work. Some duplication with the command line, but the list is clearer:
# * build-essential (gcc, etc.)
# * wget
# * flex (from gobject-introspection)
# * bison (from gobject-introspection)
# * libffi-dev (from gobject-introspection)
USER root
RUN apt-get update && apt-get install --assume-yes build-essential wget flex bison libffi-dev
# Set some environment variables. Hopefully these propagate to the
# gitlab-ci environment. Possibly re-define and then just copy the stuff over.
ENV GSTLAL_DIR /opt/gstlal
ENV PATH ${GSTLAL_DIR}/bin:${PATH}
ENV PKG_CONFIG_PATH ${GSTLAL_DIR}/lib/pkgconfig:${GSTLAL_DIR}/lib64/pkgconfig:${PKG_CONFIG_PATH}
ENV GI_TYPELIB_PATH ${GSTLAL_DIR}/lib/girepository-1.0:${GI_TYPELIB_PATH}
ENV GST_PLUGIN_PATH ${GSTLAL_DIR}/lib/gstreamer-1.0:${GST_PLUGIN_PATH}
ENV PYTHONPATH ${GSTLAL_DIR}/lib64/python2.7/site-packages:${GSTLAL_DIR}/lib/python2.7/site-packages:${PYTHONPATH}
# Set build variables:
ENV CC gcc
ENV CXX g++
ENV CFLAGS "-O3 -fPIC -march=native -I${GSTLAL_DIR}/include"
# These are the packages to download. Use the same nominclature as the optimixed Makefile.
ENV GSTPYTHON gst-python-1.4.0
ENV GSTPLUGINSGOOD gst-plugins-good-1.4.5
ENV GSTPLUGINSBASE gst-plugins-base-1.4.5
ENV GSTREAMER gstreamer-1.4.5
ENV PYGOBJECT pygobject-3.28.0
ENV GINTRO gobject-introspection-1.50.0
# Make a tar directory and download packages:
RUN mkdir /tars
RUN mkdir /src
RUN wget --no-check-certificate http://gstreamer.freedesktop.org/src/gst-python/${GSTPYTHON}.tar.xz --directory-prefix=/tars -nc
RUN wget --no-check-certificate http://gstreamer.freedesktop.org/src/gst-plugins-good/${GSTPLUGINSGOOD}.tar.xz --directory-prefix=/tars -nc
RUN wget --no-check-certificate http://gstreamer.freedesktop.org/src/gst-plugins-base/${GSTPLUGINSBASE}.tar.xz --directory-prefix=/tars -nc
RUN wget --no-check-certificate http://gstreamer.freedesktop.org/src/gstreamer/${GSTREAMER}.tar.xz --directory-prefix=/tars -nc
RUN wget --no-check-certificate http://ftp.gnome.org/pub/GNOME/sources/pygobject/3.28/${PYGOBJECT}.tar.xz --directory-prefix=/tars -nc
RUN wget --no-check-certificate http://ftp.gnome.org/pub/gnome/sources/gobject-introspection/1.50/${GINTRO}.tar.xz --directory-prefix=/tars -nc
# Install gobject-introspection:
RUN tar -xf /tars/${GINTRO}.tar.xz -C /src && \
cd /src/${GINTRO} && \
./configure --prefix=${GSTLAL_DIR} --disable-static --with-python=/usr/bin/python && \
make && \
make install
# Install pygobject:
RUN tar -xf /tars/${PYGOBJECT}.tar.xz -C /src && \
cd /src/${PYGOBJECT} && \
./configure --prefix=${GSTLAL_DIR} --with-python=python2 --enable-cairo=no && \
make && \
make install
# Install gstreamer:
RUN tar -xf /tars/${GSTREAMER}.tar.xz -C /src && \
cd /src/${GSTREAMER} && \
./configure --prefix=${GSTLAL_DIR} && \
make && \
make install
# Install gst-plugins-base:
RUN tar -xf /tars/${GSTPLUGINSBASE}.tar.xz -C /src && \
cd /src/${GSTPLUGINSBASE} && \
./configure --prefix=${GSTLAL_DIR} && \
make && \
make install
# Install gst-plugins-good:
RUN tar -xf /tars/${GSTPLUGINSGOOD}.tar.xz -C /src && \
cd /src/${GSTPLUGINSGOOD} && \
./configure --prefix=${GSTLAL_DIR} && \
make && \
make install
# Install some stuff needed for documentation. I'm putting it as part of this
# container because it takes for-freaking-ever to install in CI:
RUN apt-get --assume-yes install doxygen graphviz python-sphinx \
texlive-base \
texlive-binaries \
texlive-extra-utils \
texlive-font-utils \
texlive-fonts-extra \
texlive-fonts-extra-doc \
texlive-fonts-recommended \
texlive-fonts-recommended-doc \
texlive-generic-extra \
texlive-generic-recommended \
texlive-latex-base \
texlive-latex-base-doc \
texlive-latex-extra \
texlive-latex-extra-doc \
texlive-latex-recommended \
texlive-latex-recommended-doc \
texlive-pictures \
texlive-pictures-doc \
texlive-pstricks \
texlive-pstricks-doc \
texlive-science \
texlive-science-doc
# Install system dependencies:
RUN apt-get --assume-yes install gtk-doc-tools libfftw3-dev liborc-0.4-0 python-gobject-dev python-numpy python-scipy lscsoft-gds
# Clean up and close-out
RUN rm -rf /tars /src
ENTRYPOINT [""]
# Notes to run:
#
# 1. On your local machine (assuming you have docker installed), then first build the
# gstlal-dev container:
#
# docker build --rm --no-cache -t containers.ligo.org/alexander.pace/gstlal-dev:stretch -f ./Dockerfile.stretch ./
#
# , where the flags mean:
# --rm --no-cache : build fresh, delete old build stages and cached copy. I'm paranoid.
# -t : location/tag of destination container
# -f : name of Dockerfile to use (it defaults to "Dockerfile")
#
# 2. Once it builds, docker will give you a hash of the built container:
#
# docker tag 7039c16eadc4 aepace/gstlal-dev:stretch
#
# , this tags the container with hash "7039c16eadc4" and then tags it to the
# gstlal-dev:stretch container in aepace's namespace.
#
# 3. Finally, push the container you just tagged:
#
# docker push aepace/gstlal-dev
![gstlal](https://git.ligo.org/lscsoft/gstlal/raw/master/doc/source/_static/gstlal.png "gstlal")
GStreamer elements for gravitational-wave data analysis
==================================================================
[![pipeline status](https://git.ligo.org/lscsoft/gstlal/badges/master/pipeline.svg)](https://git.ligo.org/lscsoft/gstlal/commits/master)
| | version | source |
| :------------------: | :------: | :------: |
| `gstlal` | 1.9.0 | [gstlal-1.9.0.tar.gz](http://software.igwn.org/lscsoft/source/gstlal-1.9.0.tar.gz) |
| `gstlal-ugly` | 1.9.1 | [gstlal-ugly-1.9.1.tar.gz](http://software.igwn.org/lscsoft/source/gstlal-ugly-1.9.1.tar.gz) |
| `gstlal-inspiral` | 1.9.1 | [gstlal-inspiral-1.9.1.tar.gz](http://software.igwn.org/lscsoft/source/gstlal-inspiral-1.9.1.tar.gz) |
| `gstlal-burst` | 0.3.1 | [gstlal-burst-0.3.1.tar.gz](http://software.igwn.org/lscsoft/source/gstlal-burst-0.3.1.tar.gz) |
Full documentation is provided [here](https://lscsoft.docs.ligo.org/gstlal/).
**GstLAL** provides a suite of GStreamer elements that expose gravitational-wave data analysis tools from the LALSuite library for use in GStreamer signal-processing pipelines.
Examples include an element to add simulated gravitational waves to an h(t) stream, and a source element to provide the contents of .gwf frame files to a GStreamer pipeline.
Overview
The **GstLAL** software package is used for the following activities:
* GstLAL: Provides core Gstreamer plugins for signal processing workflows with LIGO data and core python bindings for constructing such workflows.
* GstLAL Inspiral: Provides additional signal processing plugins that are specific for LIGO / Virgo searches for compact binaries as well as a substantial amount of python code for post-processing raw signal processing results into gravitational wave candidate lists. Several publications about the methodology and workflow exist, see publications
* GstLAL Ugly: An incubator project for gradual inclusion in the other packages.
IS_CI ?= 0
gstlal-modules :
# FIXME FIXME FIXME total hack to work around unique python packaging
#mv ../gstlal/python/__init__.py ../gstlal/python/__init__.py.bk
if [ $(IS_CI) = 0 ]; then \
mv ../gstlal/python/__init__.py ../gstlal/python/__init__.py.bk; \
fi
sphinx-apidoc -e -o source/gstlal/python-modules ../gstlal/python ../gstlal/python/misc.py ../gstlal/python/bottle.py ../gstlal/python/coherent_null.py ../gstlal/python/matplotlibhelper.py
#mv ../gstlal/python/__init__.py.bk ../gstlal/python/__init__.py
if [ $(IS_CI) = 0 ]; then \
mv ../gstlal/python/__init__.py.bk ../gstlal/python/__init__.py; \
fi
sed -i "1s/python/\`\`gstlal\`\`/" source/gstlal/python-modules/modules.rst
gstlal-inspiral-modules :
sphinx-apidoc -e -o source/gstlal-inspiral/python-modules ../gstlal-inspiral/python ../gstlal-inspiral/python/cbc_template_iir.py ../gstlal-inspiral/python/spawaveform.py ../gstlal-inspiral/python/emcee.py ../gstlal-inspiral/python/spiirparts.py ../gstlal-inspiral/python/snglinspiraltable.py
gstlal-calibration-modules :
sphinx-apidoc -e -o source/gstlal-calibration/python-modules ../gstlal-calibration/python
sed -i "1s/python/\`\`gstlal-inspiral\`\`/" source/gstlal-inspiral/python-modules/modules.rst
gstlal-burst-modules :
sphinx-apidoc -e -o source/gstlal-burst/python-modules ../gstlal-burst/python ../gstlal-burst/python/excesspower ../gstlal-burst/python/fxtools/sngltriggertable.py
sed -i "1s/python/\`\`gstlal-burst\`\`/" source/gstlal-burst/python-modules/modules.rst
gstlal-ugly-modules :
sphinx-apidoc -e -o source/gstlal-ugly/python-modules ../gstlal-ugly/python ../gstlal-ugly/python/gviz_api.py ../gstlal-ugly/python/coherent_inspiral_metric.py ../gstlal-ugly/python/coherent_inspiral_metric_plots.py ../gstlal-ugly/python/coherent_inspiral_metric_detector_details.py ../gstlal-ugly/python/aggregator.py
sed -i "1s/python/\`\`gstlal-ugly\`\`/" source/gstlal-ugly/python-modules/modules.rst
gstlal-bin :
./sphinx-bindoc source/gstlal/bin ../gstlal/bin gstlal_ligo_data_find_check
sed -i "1s/bin/\`\`gstlal\`\`/" source/gstlal/bin/bin.rst
gstlal-inspiral-bin :
./sphinx-bindoc source/gstlal-inspiral/bin ../gstlal-inspiral/bin gstlal_inspiral_flopulator gstlal_inspiral_lvalert_omegascan gstlal_ll_inspiral_calculate_range gstlal_ll_inspiral_daily_page_online gstlal_iir_inspiral gstlal_inspiral_iir_bank_pipe gstlal_ll_inspiral_save_state gstlal_inspiral_marginalize_likelihoods_online gstlal_inspiral_plot_extrinsic_params gstlal_ll_inspiral_get_urls gstlal_inspiral_plot_svd_bank gstlal_inspiral_lvalert_background_plotter
gstlal-calibration-bin :
./sphinx-bindoc source/gstlal-calibration/bin ../gstlal-calibration/bin
./sphinx-bindoc source/gstlal-inspiral/bin ../gstlal-inspiral/bin gstlal_inspiral_flopulator gstlal_inspiral_lvalert_omegascan gstlal_ll_inspiral_calculate_range gstlal_ll_inspiral_daily_page_online gstlal_iir_inspiral gstlal_inspiral_iir_bank_pipe gstlal_ll_inspiral_save_state gstlal_inspiral_marginalize_likelihoods_online gstlal_inspiral_plot_extrinsic_params gstlal_ll_inspiral_get_urls gstlal_inspiral_plot_svd_bank gstlal_inspiral_lvalert_background_plotter gstlal_inspiral_add_p_of_ifos_given_horizon gstlal_inspiral_add_dt_dphi_snr_ratio_pdfs
sed -i "1s/bin/\`\`gstlal-inspiral\`\`/" source/gstlal-inspiral/bin/bin.rst
gstlal-burst-bin :
./sphinx-bindoc source/gstlal-burst/bin ../gstlal-burst/bin gstlal_excesspower gstlal_excesspower_trigvis
sed -i "1s/bin/\`\`gstlal-burst\`\`/" source/gstlal-burst/bin/bin.rst
gstlal-ugly-bin :
./sphinx-bindoc source/gstlal-ugly/bin ../gstlal-ugly/bin gstlal_h1h2_coh_frames gstlal_geo_player gstlal_ll_inspiral_daily_summary_page gstlal_cache_to_segments gstlal_inspiral_plot_efficiency gstlal_burst_injections_by_rate_plot gstlal_display_from_logs gstlal_inspiral_bankviz gstlal_ll_inspiral_regen_reg_from_condor_q gstlal_cbc_sensitivity_vs_flow_at_fixed_computational_cost gstlal_inspiral_check_livetimes gstlal_rds_gen gstlal_injections_by_local_rate_plot gstlal_ninja_smooth_reference_psd gstlal_shift_frames
sed -i "1s/bin/\`\`gstlal-ugly\`\`/" source/gstlal-ugly/bin/bin.rst
html : gstlal-modules gstlal-inspiral-modules gstlal-calibration-modules gstlal-ugly-modules gstlal-burst-modules gstlal-bin gstlal-inspiral-bin gstlal-calibration-bin gstlal-ugly-bin gstlal-burst-bin
html : gstlal-modules gstlal-inspiral-modules gstlal-ugly-modules gstlal-burst-modules gstlal-bin gstlal-inspiral-bin gstlal-ugly-bin gstlal-burst-bin
sphinx-build -b html source _build
clean :
......
/* Uses skorch docs theme from https://skorch.readthedocs.io */
.wy-side-nav-search {
background-color: #ffffff;
}
.wy-side-nav-search > div.version {
color: black;
}
.wy-side-nav-search > a {
color: black;
}
/* Adds logo in header for mobile */
.wy-nav-top {
background-color: #ffffff;
background-image: url('../logo.svg');
background-repeat: no-repeat;
background-position: bottom;
padding: 0;
margin: 0.4045em 0.809em;
color: #333;
}
.wy-nav-top > a {
display: none;
}
doc/source/_static/favicon.ico

15 KiB

doc/source/_static/gstlal.png

67.5 KiB

doc/source/_static/gstlal_small.png

40.9 KiB

doc/source/_static/img/git-flow.png

29.2 KiB

doc/source/_static/img/mr-change-submit.png

76.9 KiB

doc/source/_static/img/mr-changes.png

250 KiB

doc/source/_static/img/mr-create-steps.png

216 KiB

doc/source/_static/img/mr-create.png

244 KiB

doc/source/_static/img/mr-merge.png

264 KiB

doc/source/_static/img/mr-overview.png

304 KiB