add Jupyter URL update endpoint #244
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: CI | |
on: [push, pull_request] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: 3.9 | |
- name: Start MongoDB and Jaeger | |
run: | | |
docker run --rm -p 27017:27017 --name mongo -d mongo:6 | |
docker run --rm -p 9411:9411 -p 16686:16686 --name jaeger --env QUERY_BASE_PATH=/jaeger --env COLLECTOR_ZIPKIN_HOST_PORT=9411 --name jaeger -d jaegertracing/all-in-one:1.43 | |
- name: Install ipsportal and testing requirements | |
run: python -m pip install -e .[dev] | |
- name: Lint with flake8 | |
run: flake8 | |
- name: Check types | |
run: mypy ipsportal | |
- name: Run tests | |
run: coverage run -m pytest | |
- name: coverage report | |
run: coverage report | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v2 | |
- name: Stop MongoDB and Jaeger | |
run: | | |
docker stop mongo | |
docker stop jaeger | |
systemtests: | |
runs-on: ubuntu-latest | |
needs: test | |
strategy: | |
fail-fast: false | |
matrix: | |
ips-version: ["0.3.0", "0.4.1", "0.5.0", "0.6.0", "0.7.1", "0.8.0"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v3 | |
with: | |
python-version: 3.9 | |
- name: Install IPS | |
run: python -m pip install ipsframework==${{ matrix.ips-version }} | |
- name: Start IPS-portal with docker-compose | |
run: docker-compose up --build -d | |
- name: Run test | |
run: | | |
cd tests | |
./run_ips_test.sh | |
docker: | |
runs-on: ubuntu-latest | |
needs: [test, systemtests] | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Log into registry ghcr.io | |
uses: docker/login-action@v1 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push IPS portal | |
if: ${{ github.ref == 'refs/heads/main' }} | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
tags: ghcr.io/hpc-simtools/ips-portal/ipsportal:dev | |
push: true | |
- name: Build and push IPS portal version | |
if: startsWith(github.ref, 'refs/tags') | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
tags: | | |
ghcr.io/hpc-simtools/ips-portal/ipsportal:latest | |
ghcr.io/hpc-simtools/ips-portal/ipsportal:${{ github.ref_name }} | |
push: true | |
- name: Build and push mongodb-backup | |
if: ${{ github.ref == 'refs/heads/main' }} | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: Dockerfile.mongodb-backup | |
tags: ghcr.io/hpc-simtools/ips-portal/mongodb-backup:latest | |
push: true |