Skip to content

Commit

Permalink
preparing to refactor for entire pipeline to be containerized (#2)
Browse files Browse the repository at this point in the history
* preparing to refactor for entire pipeline to be containerized
note that I need to refactor spliced to not use any containers now!

Signed-off-by: vsoch <vsoch@users.noreply.github.com>
Co-authored-by: vsoch <vsoch@users.noreply.github.com>
  • Loading branch information
vsoch and vsoch committed Jul 26, 2022
1 parent 939fa9b commit eee2ac0
Show file tree
Hide file tree
Showing 221 changed files with 1,557 additions and 163 deletions.
28 changes: 28 additions & 0 deletions .github/workflows/build-deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Build and Deploy containers

on:
# Always test on pull request
pull_request: []

# Deploy on merge to main
push:
branches:
- main

jobs:
deploy-test-containers:
runs-on: ubuntu-latest
name: Build Container
steps:
- name: Checkout
uses: actions/checkout@v3

- name: Build Container
run: docker build -t ghcr.io/buildsi/spliced-experiment .

- name: Login and Deploy Test Container
if: (github.event_name != 'pull_request')
run: |
docker images
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u ${{ secrets.GHCR_USERNAME }} --password-stdin
docker push ghcr.io/buildsi/spliced-experiment
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.sif
.spack
49 changes: 49 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
FROM ghcr.io/buildsi/libabigail:2.0

# docker build -t ghcr.io/buildsi/spliced-experiment .
# docker run -it -v /p/vast1/build/spliced-cache:/cache /p/vast1/build/spack:/spack ghcr.io/buildsi/spliced-experiment

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y build-essential

# always build with debug (this is in template script too)
ENV SPACK_ADD_DEBUG_FLAGS=true

# Always save to this cache (should be bound from the host)
ENV SPLICED_SMEAGLE_CACHE_DIR=/cache
ENV SPLICED_ABILAB_CACHE_DIR=/cache

# Assume spack bound to /spack
ENV PATH=/spack/bin:$PATH

# Install cle (dependency of spliced)
RUN git clone https://github.com/vsoch/cle && \
cd cle && \

# archinfo, pyvex, pyelftools, then cle
pip install wheel && \
pip install git+https://github.com/angr/archinfo && \
pip install git+https://github.com/angr/pyvex && \
pip install git+https://github.com/eliben/pyelftools && \
pip install .

RUN pip install git+https://github.com/buildsi/spliced

# Install abi-laboratory tools
RUN git clone https://github.com/lvc/abi-dumper && \
cd abi-dumper && \
make install prefix=/usr && \
cd .. && \
git clone https://github.com/lvc/abi-compliance-checker && \
cd abi-compliance-checker && \
make install prefix=/usr

# Install "nice to haves"
RUN pip install ipython && apt-get install -y vim

# Try installing spack to inside of container (and will bind install on outside)
RUN git clone --depth 1 -b vsoch/db-17-splice-july-25 https://github.com/vsoch/spack /spack

# Add scripts
WORKDIR /code
COPY . /code

0 comments on commit eee2ac0

Please sign in to comment.