Skip to content

Test

Test #27

Workflow file for this run

name: Test
on:
push:
branches: [ master, feature/** ]
pull_request:
branches: [ master, feature/** ]
jobs:
mleap-executor-tests:
name: MLeap executor tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run MLeap executor tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_executor
mleap-benchmark-tests:
name: MLeap benchmark tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run MLeap benchmark tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_benchmark
mleap-sbt-tests:
name: All other sbt tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run sbt tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_root_sbt_project
python39-tests:
name: Python 3.9 tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run Python 3.9 tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_python_39
python310-tests:
name: Python 3.10 tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run Python 3.10 tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_python_310
python311-tests:
name: Python 3.11 tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run Python 3.11 tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_python_311
python312-tests:
name: Python 3.12 tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run Python 3.12 tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_python_312
python313-tests:
name: Python 3.13 tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Run Python 3.13 tests
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root mleap:ci make test_python_313
ci-completion:
runs-on: ubuntu-latest
needs: [mleap-executor-tests, mleap-benchmark-tests, mleap-sbt-tests, python39-tests, python310-tests, python311-tests, python312-tests, python313-tests]
if: always() # Required so this runs even if a dependency fails
steps:
- name: Check overall status
if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled')
run: exit 1
publish:
name: Publish signed jars
runs-on: ubuntu-latest
needs: [ci-completion]
if: github.event_name == 'release' && github.event.action == 'published'
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build devcontainer image
uses: docker/build-push-action@v5
with:
context: .devcontainer
file: .devcontainer/Dockerfile
push: false
load: true
tags: mleap:ci
- name: Publish signed jars
env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}
GPG_SECRET_KEY: ${{ secrets.GPG_SECRET_KEY }}
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
run: |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace \
--user root \
-e SONATYPE_USERNAME="$SONATYPE_USERNAME" \
-e SONATYPE_PASSWORD="$SONATYPE_PASSWORD" \
-e GPG_PASSPHRASE="$GPG_PASSPHRASE" \
-e GPG_SECRET_KEY="$GPG_SECRET_KEY" \
-e TWINE_USERNAME="$TWINE_USERNAME" \
-e TWINE_PASSWORD="$TWINE_PASSWORD" \
mleap:ci bash sbt publishSigned