Skip to content

Add GitHub action for integration tests #3

Add GitHub action for integration tests

Add GitHub action for integration tests #3

name: Integration test
env:
MINIO_SERVER_ACCESS_KEY: admin
MINIO_SERVER_SECRET_KEY: s3cr3t_p4ssw0rd
MINIO_LOCAL_BUCKET_NAME: flame
MINIO_REMOTE_BUCKET_NAME: upload
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: 3.11
- name: Install Poetry
run: python -m pip install poetry
- name: Install dependencies
run: poetry install
- name: Create local bucket
run: poetry run flame-result migrate --no-verify "$MINIO_SERVER_ACCESS_KEY" "$MINIO_SERVER_SECRET_KEY" "$MINIO_LOCAL_BUCKET_NAME"
- name: Create remote bucket
run: poetry run flame-result migrate --no-verify "$MINIO_SERVER_ACCESS_KEY" "$MINIO_SERVER_SECRET_KEY" "$MINIO_REMOTE_BUCKET_NAME"
- name: Run tests
run: PYTEST__MINIO__ACCESS_KEY="$MINIO_SERVER_ACCESS_KEY" \
PYTEST__MINIO__SECRET_KEY="$MINIO_SERVER_SECRET_KEY" \
PYTEST__MINIO__BUCKET="$MINIO_LOCAL_BUCKET_NAME" \
PYTEST__MINIO__ENDPOINT="localhost:9000" \
PYTEST__REMOTE__ACCESS_KEY="$MINIO_SERVER_ACCESS_KEY" \
PYTEST__REMOTE__SECRET_KEY="$MINIO_SERVER_SECRET_KEY" \
PYTEST__REMOTE__BUCKET="$MINIO_REMOTE_BUCKET_NAME" \
PYTEST__REMOTE__ENDPOINT="localhost:9000" \
poetry run pytest
services:
minio:
# not possible to use official minio image since it requires commands to start up
# which gh doesn't support :(
image: bitnami/minio:2024.1.16
ports:
- 9000:9000