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

Modify and Update CI Testing #95

Merged
merged 54 commits into from
Apr 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
27e41de
add template file for RLM license
gonuke Apr 10, 2024
006aaf3
first attempt at action
gonuke Apr 10, 2024
92c8d19
setup buildx
gonuke Apr 10, 2024
3e3d5d1
add job dependency and update login version
gonuke Apr 10, 2024
2a6c201
specify different tag
gonuke Apr 10, 2024
397ec43
try layer-cache
gonuke Apr 10, 2024
abc2fd2
specifcy container instead of runner
gonuke Apr 10, 2024
885ee7e
correct capitalization for secrets
gonuke Apr 10, 2024
86019a4
test cubit
gonuke Apr 10, 2024
4d81234
save license file after sed
gonuke Apr 10, 2024
b0584de
look at license file
gonuke Apr 10, 2024
5675892
env substitution typo
gonuke Apr 10, 2024
affd0d1
run pytest
gonuke Apr 10, 2024
a31feba
checkout this brach during testing
gonuke Apr 10, 2024
38cd05e
newline
gonuke Apr 10, 2024
f659efc
typo in trigger
gonuke Apr 10, 2024
a10c62c
cd before checkout
gonuke Apr 10, 2024
474aaba
pin older version of cad_to_dagmc
gonuke Apr 10, 2024
eda743a
force activation of conda env
gonuke Apr 10, 2024
515b2bd
create build targets
gonuke Apr 10, 2024
5150719
build deps target and checkout for boostrap testing
gonuke Apr 10, 2024
1434036
env activate syntax
gonuke Apr 10, 2024
8fa2f71
testing
gonuke Apr 10, 2024
2f35218
run conda init
gonuke Apr 10, 2024
22cdd14
source bashrc
gonuke Apr 10, 2024
0560f69
specify which bashrc b/c github
gonuke Apr 11, 2024
1bdbb5d
explicitly set HOME
gonuke Apr 11, 2024
0890bf3
call the right bashrc
gonuke Apr 11, 2024
037e1c8
try to do all the things
gonuke Apr 11, 2024
0d10fcd
don't rely on HOME
gonuke Apr 11, 2024
ac38a7f
activate syntax
gonuke Apr 11, 2024
d93b650
put parasell on the pythonpath
gonuke Apr 11, 2024
3dbb577
improve pythonpath
gonuke Apr 11, 2024
ecdd3b0
only ivb tests for now
gonuke Apr 11, 2024
0ed8219
try source mesh tets
gonuke Apr 11, 2024
85d27b4
test only parastell
gonuke Apr 11, 2024
5923699
Update CAD-to-DAGMC conda installation
connoramoreno Apr 25, 2024
0746b0f
Run
connoramoreno Apr 25, 2024
f2e41d4
Revert to running test_parastell.py
connoramoreno Apr 25, 2024
3fe3783
Change ParaStell branch in Dockerfile
connoramoreno Apr 25, 2024
e316d3a
Check that correct branch is checked out
connoramoreno Apr 25, 2024
220fa89
Check that license file is properly modified
connoramoreno Apr 25, 2024
03bcb80
Check environment
connoramoreno Apr 25, 2024
6a952a2
Try alternative way of setting environment variables from secrets
connoramoreno Apr 25, 2024
ba58fc5
Include all ParaStell scripts
connoramoreno Apr 25, 2024
7750c82
Implement suggestions
connoramoreno Apr 25, 2024
2c5f811
Modify copying of ParaStell in Dockerfile
connoramoreno Apr 25, 2024
957d711
Modify ParaStell installation
connoramoreno Apr 25, 2024
6002e02
Modify location of branch checkout
connoramoreno Apr 25, 2024
b8e1bf8
Remove branch change in CI test job
connoramoreno Apr 25, 2024
b8a16c9
Try removing ParaStell installation
connoramoreno Apr 25, 2024
f24ba22
Remove ParaStell build stage from Dockerfile
connoramoreno Apr 25, 2024
b195964
Clean up GitHub action
connoramoreno Apr 25, 2024
2c02d83
Modify job step names
connoramoreno Apr 25, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/workflows/docker_publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: Build & publish Docker image for ParaStell CI

on:
# allows us to run workflows manually
workflow_dispatch:
push:
paths:
- 'Dockerfile'
- '.github/workflows/docker_publish.yml'

jobs:
build-dependency-img:
runs-on: ubuntu-latest

name: Install Dependencies
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log into GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push ParaStell Docker image
id: build-parastell
uses: docker/build-push-action@v5
with:
cache-from: type=registry,ref=ghcr.io/svalinn/parastell:ci-layer-cache
cache-to: type=registry,ref=ghcr.io/svalinn/parastell:ci-layer-cache,mode=max
file: Dockerfile
push: true
target: parastell-deps
tags: ghcr.io/svalinn/parastell-ci

test-dependency-img:
needs: build-dependency-img
runs-on: ubuntu-latest
container: ghcr.io/svalinn/parastell-ci

name: Test CI Image
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Populate environment and run tests
run: |
. /opt/etc/bashrc
sed -e "s/@SERVER@/${rlmSERVER}/" -e "s/@PASSWORD@/${rlmPASSWD}/" /opt/Coreform-Cubit-2023.11/bin/licenses/rlmcloud.in > /opt/Coreform-Cubit-2023.11/bin/licenses/rlmcloud.lic
export PYTHONPATH=${PYTHONPATH}:`pwd`
cd tests
pytest -v .
env:
rlmSERVER: ${{ secrets.RLMSERVER }}
rlmPASSWD: ${{ secrets.RLMPASSWORD }}
23 changes: 11 additions & 12 deletions dockerfile → Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
FROM continuumio/miniconda3
FROM continuumio/miniconda3 as parastell-deps

ENV TZ=America/Chicago
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get update -y
RUN apt-get upgrade -y

# install dependencies
# Install dependencies
RUN apt-get install -y libgl1-mesa-glx \
libgl1-mesa-dev \
libglu1-mesa-dev \
Expand All @@ -30,27 +30,26 @@ RUN apt-get install -y libgl1-mesa-glx \
libxcursor1 \
libxinerama1

# download cubit
# Download Coreform Cubit
RUN wget -O /cubit.deb https://f002.backblazeb2.com/file/cubit-downloads/Coreform-Cubit/Releases/Linux/Coreform-Cubit-2023.11%2B43088-Lin64.deb

# install cubit
# Install Cubit
RUN dpkg -i cubit.deb
ENV PYTHONPATH=/opt/Coreform-Cubit-2023.11/bin/
COPY ./rlmcloud.in /opt/Coreform-Cubit-2023.11/bin/licenses/rlmcloud.in

# parastell env
RUN mkdir -p /opt/etc
RUN cp /root/.bashrc /opt/etc/bashrc

# Install Python dependencies in parastell env conda environment
COPY ./environment.yml /environment.yml
RUN conda env create -f environment.yml
RUN echo "source activate parastell_env" >> ~/.bashrc
RUN echo "conda activate parastell_env" >> /opt/etc/bashrc

WORKDIR /opt

# install pystell_uw
# Install PyStell-UW
RUN git clone https://github.com/aaroncbader/pystell_uw.git
ENV PYTHONPATH=$PYTHONPATH:/opt/pystell_uw

# install parastell
RUN git clone https://github.com/svalinn/parastell.git
ENV PYTHONPATH=$PYTHONPATH:/opt/parastell

WORKDIR /

5 changes: 5 additions & 0 deletions rlmcloud.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#
# Ports 5053 and 5132 must be open in your firewall for outgoing connections.
#
CUSTOMER Wisc isv=csimsoft server=@SERVER@ port=5053 password=@PASSWORD@