lean dependencies for qtp-diversity #83
Workflow file for this run
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: docker | |
| on: | |
| push: | |
| branches: | |
| - 'smaller_deblur' | |
| jobs: | |
| docker: | |
| strategy: | |
| matrix: | |
| plugin: ["qp-deblur", "qtp-biom", "qp-target-gene", "qtp-sequencing", "qtp-visualization", | |
| "nginx", "qiita", "plugin_collector" | |
| ] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: harbor.computational.bio.uni-giessen.de | |
| username: ${{ vars.HARBOR_CB_USERNAME }} | |
| password: ${{ secrets.HARBOR_CB_SECRET }} | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Read version from file | |
| id: vars | |
| run: | | |
| VERSION=$(head -n 1 Images/${{ matrix.plugin }}/${{ matrix.plugin }}.dockerfile | cut -d ":" -f 2- | tr -d " ") | |
| echo "IMAGE_TAG=$VERSION" >> $GITHUB_ENV | |
| cp Images/${{ matrix.plugin }}/start_${{ matrix.plugin }}.sh Images/test_plugin.sh Images/trigger_noconda.py Images/trigger.py Images/nginx/nginx_qiita.conf Images/${{ matrix.plugin }}/requirements.txt . | |
| cp Images/qiita/config_portal.cfg Images/qiita/config_qiita_oidc.cfg Images/qiita/drop_workflows.py Images/qiita/start_plugin.py Images/qiita/start_qiita-initDB.sh Images/qiita/start_qiita.sh . | |
| cp Images/plugin_collector/collect_configs.py Images/plugin_collector/fix_test_db.py Images/plugin_collector/stefan_cert.conf Images/plugin_collector/stefan_csr.conf . | |
| - name: Make tinqiita targets | |
| # second copy of "qiita_server_certificates" is necessary to match path for docker build, first copy for mounting into container | |
| run: | | |
| make ./references/qiita_server_certificates ./references/qp-deblur/reference-gg-raxml-bl.tre ./environments/qiita_db.env ./environments/qiita.env config | |
| cp -r ./references/qiita_server_certificates ./qiita_server_certificates | |
| - name: Build Image (but do not push yet) | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: false | |
| load: true | |
| file: Images/${{ matrix.plugin }}/${{ matrix.plugin }}.dockerfile | |
| tags: tinqiita/${{ matrix.plugin }}:testcandidate | |
| - name: debug docker | |
| run: | | |
| docker image ls -a | |
| docker ps -a | |
| - name: adapt compose file to select specific plugin | |
| run: | | |
| sed -i "s/MATRIXPLUGIN/${{ matrix.plugin }}/g" compose_github.yaml | |
| sed -i "s|image: janssenlab/${{ matrix.plugin }}:latest|image: tinqiita/${{ matrix.plugin }}:testcandidate|" compose_github.yaml | |
| - name: Run docker compose | |
| if: ${{ !contains('nginx,qiita,plugin_collector', matrix.plugin) }} | |
| uses: hoverkraft-tech/compose-action@v2.0.1 | |
| with: | |
| compose-file: "compose_github.yaml" | |
| services: | | |
| nginx | |
| - name: Execute tests in the running services (wait till qiita plugins are registered) | |
| if: ${{ !contains('nginx,qiita,plugin_collector', matrix.plugin) }} | |
| run: | | |
| sleep 5 | |
| docker compose exec qiita /bin/bash -c "cat /logs/*; cat /qiita_plugins/*" | |
| docker compose exec ${{ matrix.plugin }} /bin/bash -c "PLUGIN=${{ matrix.plugin }} bash /test_plugin.sh" | |
| - name: Push production image (only if tests passed) | |
| if: success() | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| push: true | |
| file: Images/${{ matrix.plugin }}/${{ matrix.plugin }}.dockerfile | |
| tags: | | |
| harbor.computational.bio.uni-giessen.de/tinqiita/${{ matrix.plugin }}:${{ env.IMAGE_TAG }} | |
| harbor.computational.bio.uni-giessen.de/tinqiita/${{ matrix.plugin }}:latest |