docs: point Snakemake install docs at 2.5.0 #1610
This file contains hidden or 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: | |
| permissions: | |
| contents: read | |
| jobs: | |
| smoke-tests: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11"] | |
| defaults: | |
| run: | |
| shell: bash -el {0} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| environment-file: environment.yml | |
| activate-environment: AlphaPulldown | |
| python-version: ${{ matrix.python-version }} | |
| auto-update-conda: true | |
| use-mamba: true | |
| - run: | | |
| pip install -e .[test] | |
| - run: | | |
| pytest -n auto --dist loadfile test/unit | |
| pytest test/integration | |
| #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 | |
| coverage: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| shell: bash -el {0} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| environment-file: environment.yml | |
| activate-environment: AlphaPulldown | |
| python-version: "3.11" | |
| auto-update-conda: true | |
| use-mamba: true | |
| - run: | | |
| pip install -e .[test] | |
| - run: | | |
| pytest -n auto --dist loadfile test/unit \ | |
| --cov=alphapulldown \ | |
| --cov-config=.coveragerc \ | |
| --cov-report= | |
| pytest test/integration \ | |
| --cov=alphapulldown \ | |
| --cov-config=.coveragerc \ | |
| --cov-append \ | |
| --cov-report= | |
| coverage report --skip-covered --show-missing | |
| coverage xml -o coverage.xml | |
| coverage json -o coverage.json | |
| coverage html -d htmlcov | |
| python test/tools/check_function_coverage.py --report-only coverage.json | |
| coverage report --fail-under=25 --skip-covered --show-missing | |
| - name: Prepare coverage site | |
| run: | | |
| mkdir -p _site/coverage | |
| cp -R htmlcov/. _site/coverage/ | |
| cat > _site/index.html <<'EOF' | |
| <!DOCTYPE html> | |
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta http-equiv="refresh" content="0; url=coverage/"> | |
| <title>AlphaPulldown Coverage</title> | |
| </head> | |
| <body> | |
| <p>Redirecting to the latest coverage report...</p> | |
| <p><a href="coverage/">Open coverage report</a></p> | |
| </body> | |
| </html> | |
| EOF | |
| - name: Coverage summary | |
| run: | | |
| { | |
| echo "## Coverage reports" | |
| echo "" | |
| echo "- Raw artifact: \`coverage-reports\`" | |
| echo "- HTML entrypoint inside artifact: \`htmlcov/index.html\`" | |
| echo "- Latest browsable HTML report is published from the \`main\` branch via the Pages job." | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-reports | |
| path: | | |
| coverage.json | |
| coverage.xml | |
| htmlcov | |
| - name: Upload coverage site artifact | |
| if: github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: _site | |
| coverage-pages: | |
| if: github.ref == 'refs/heads/main' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch') | |
| needs: coverage | |
| runs-on: ubuntu-latest | |
| permissions: | |
| pages: write | |
| id-token: write | |
| contents: read | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - id: deployment | |
| uses: actions/deploy-pages@v4 | |
| - name: Pages summary | |
| run: | | |
| { | |
| echo "## Coverage HTML" | |
| echo "" | |
| echo "Latest coverage site: ${{ steps.deployment.outputs.page_url }}" | |
| } >> "$GITHUB_STEP_SUMMARY" | |
| build-alphafold2-container: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: webfactory/[email protected] | |
| with: | |
| ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
| - uses: actions/checkout@v4 | |
| - run: rm -rf /opt/hostedtoolcache | |
| - uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKER_USERNAME }} | |
| password: ${{ secrets.DOCKER_PASSWORD }} | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build and push alphafold2 container | |
| if: github.event_name == 'push' | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ./docker/alphafold2.dockerfile | |
| push: true | |
| tags: ${{ secrets.DOCKER_USERNAME }}/alphafold2:latest | |
| ssh: default | |
| - name: Build and push alphafold2 container with version | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ./docker/alphafold2.dockerfile | |
| push: true | |
| tags: ${{ secrets.DOCKER_USERNAME }}/alphafold2:${{ github.event.release.tag_name }} | |
| ssh: default | |
| # build-alphalink-container: | |
| # runs-on: ubuntu-latest | |
| # steps: | |
| # - uses: webfactory/[email protected] | |
| # with: | |
| # ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
| # - uses: actions/checkout@v4 | |
| # - run: rm -rf /opt/hostedtoolcache | |
| # - uses: docker/login-action@v3 | |
| # with: | |
| # username: ${{ secrets.DOCKER_USERNAME }} | |
| # password: ${{ secrets.DOCKER_PASSWORD }} | |
| # - uses: docker/setup-buildx-action@v3 | |
| # - name: Build and push alphalink container | |
| # if: github.event_name == 'push' | |
| # uses: docker/build-push-action@v5 | |
| # with: | |
| # context: . | |
| # file: ./docker/alphalink.dockerfile | |
| # push: true | |
| # tags: ${{ secrets.DOCKER_USERNAME }}/alphalink:latest | |
| # ssh: default | |
| # - name: Build and push alphalink container with version | |
| # if: github.event_name == 'release' && github.event.action == 'published' | |
| # uses: docker/build-push-action@v5 | |
| # with: | |
| # context: . | |
| # file: ./docker/alphalink.dockerfile | |
| # push: true | |
| # tags: ${{ secrets.DOCKER_USERNAME }}/alphalink:${{ github.event.release.tag_name }} | |
| # ssh: default | |
| build-alphafold3-container: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: webfactory/[email protected] | |
| with: | |
| ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
| - uses: actions/checkout@v4 | |
| - run: rm -rf /opt/hostedtoolcache | |
| - uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKER_USERNAME }} | |
| password: ${{ secrets.DOCKER_PASSWORD }} | |
| - uses: docker/setup-buildx-action@v3 | |
| - name: Build and push alphafold3 container | |
| if: github.event_name == 'push' | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ./docker/alphafold3.dockerfile | |
| push: true | |
| tags: ${{ secrets.DOCKER_USERNAME }}/alphafold3:latest | |
| ssh: default | |
| - name: Build and push alphafold3 container with version | |
| if: github.event_name == 'release' && github.event.action == 'published' | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: ./docker/alphafold3.dockerfile | |
| push: true | |
| tags: ${{ secrets.DOCKER_USERNAME }}/alphafold3:${{ github.event.release.tag_name }} | |
| ssh: default |