Update entry_points.py #1280
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: AlphaPulldown-CI-CD | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
release: | |
types: [published] | |
workflow_dispatch: | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.10", "3.11"] | |
install-type: ['user', 'developer'] | |
steps: | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "pip" | |
- run: python -c "import sys; print(sys.version)" | |
- run: | | |
echo $CONDA/bin >> $GITHUB_PATH | |
echo "$GITHUB_WORKSPACE/alphapulldown" >> $GITHUB_PATH | |
- if: matrix.install-type == 'user' | |
run: | | |
conda create -n AlphaPulldown -c omnia -c bioconda -c conda-forge python==${{ matrix.python-version }} openmm==8.0 pdbfixer==1.9 kalign2 hmmer hhsuite modelcif | |
eval "$(conda shell.bash hook)" | |
conda activate AlphaPulldown | |
pip install alphapulldown==2.0.0b6 | |
pip install -U "jax[cuda12]" | |
conda install -c conda-forge biopython==1.81 importlib_metadata pytest # REMOVE AFTER UPDATING THE PYPI RELEASE VERSION! | |
- if: matrix.install-type == 'developer' | |
run: | | |
conda create -n AlphaPulldown -c omnia -c bioconda -c conda-forge python==${{ matrix.python-version }} openmm==8.0 pdbfixer==1.9 kalign2 hmmer hhsuite modelcif | |
eval "$(conda shell.bash hook)" | |
conda activate AlphaPulldown | |
pip install -e . | |
pip install -e ColabFold --no-deps | |
pip install -e alphafold --no-deps | |
pip install -U "jax[cuda12]" | |
# export PYTHONPATH=$PWD/AlphaLink2:$PYTHONPATH | |
# install dependencies for AlphaLink backend | |
# pip install torch==1.13.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117 | |
# pip install setuptools==69.5.1 # Downgrade setuptools to avoid crashes when installing unicore | |
# git clone https://github.com/dptech-corp/Uni-Core.git | |
# cd Uni-Core | |
# python setup.py install --disable-cuda-ext | |
# cd .. | |
- run: | | |
eval "$(conda shell.bash hook)" | |
conda activate AlphaPulldown | |
python test/test_python_imports.py | |
pytest -s test/test_custom_db.py | |
pytest -s test/test_remove_clashes_low_plddt.py | |
pytest -s test/test_modelcif.py | |
pytest -s test/test_features_with_templates.py | |
pytest -s test/test_post_prediction.py | |
export PYTHONPATH=$PWD/alphapulldown/analysis_pipeline:$PYTHONPATH | |
# Test analysis pipeline | |
conda install -c bioconda biopandas | |
pip install pyrosetta-installer | |
python -c 'import pyrosetta_installer; pyrosetta_installer.install_pyrosetta()' | |
pytest -s test/test_pdb_analyser.py | |
pytest -s test/test_get_good_inter_pae.py | |
build-fold-container: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Free disk space | |
run: | | |
rm -rf /opt/hostedtoolcache | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push fold container | |
if: github.event_name == 'push' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/pulldown.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold:latest | |
ssh: default | |
- name: Build and push fold container with version | |
if: github.event_name == 'release' && github.event.action == 'published' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/pulldown.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold:${{ github.event.release.tag_name }} | |
ssh: default | |
build-analysis-container: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Free disk space | |
run: | | |
rm -rf /opt/hostedtoolcache | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push analysis container | |
if: github.event_name == 'push' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/analysis.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold_analysis:latest | |
- name: Build and push analysis container with version | |
if: github.event_name == 'release' && github.event.action == 'published' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/analysis.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold_analysis:${{ github.event.release.tag_name }} |