Skip to content

Commit

Permalink
resolve merge conflicts with develop branch
Browse files Browse the repository at this point in the history
  • Loading branch information
zgoldberg22 committed Aug 17, 2023
2 parents 692e2c5 + 80159ed commit 5825e9f
Show file tree
Hide file tree
Showing 37 changed files with 2,041 additions and 456 deletions.
55 changes: 53 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,21 @@ on:
- v*
workflow_dispatch:

env:
AERIE_USERNAME: "${{secrets.AERIE_USERNAME}}"
AERIE_PASSWORD: "${{secrets.AERIE_PASSWORD}}"
HASURA_GRAPHQL_ADMIN_SECRET: "${{secrets.HASURA_GRAPHQL_ADMIN_SECRET}}"
HASURA_GRAPHQL_JWT_SECRET: "${{secrets.HASURA_GRAPHQL_JWT_SECRET}}"
POSTGRES_USER: "${{secrets.POSTGRES_USER}}"
POSTGRES_PASSWORD: "${{secrets.POSTGRES_PASSWORD}}"

jobs:
unit-test:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
environment: integration-test-workflow
strategy:
matrix:
python-version: [ "3.9", "3.10", "3.11" ]
python-version: [ "3.6.15", "3.7", "3.8", "3.9", "3.10", "3.11" ]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -30,3 +39,45 @@ jobs:
run: |
cd tests
pytest unit_tests
integration-test:
timeout-minutes: 10
runs-on: ubuntu-20.04
environment: integration-test-workflow
strategy:
matrix:
python-version: [ "3.6.15", "3.7", "3.8", "3.9", "3.10", "3.11" ]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install pytest
pip install .
- name: Set up aerie instance
run: |
docker compose -f docker-compose-test.yml up -d
docker images
docker ps -a
- name: Sleep for 60 Seconds
run: sleep 60s
shell: bash
- name: Run integration tests
run: |
cd tests
pytest integration_tests
- name: Print service logs
if: always()
run: docker compose -f docker-compose-test.yml logs -t
- name: Stop services
if: always()
run: |
docker ps -a
docker compose -f docker-compose-test.yml down
docker ps -a
- name: Prune volumes
if: always()
run: docker volume prune --force
169 changes: 169 additions & 0 deletions docker-compose-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# Pulled from https://github.com/NASA-AMMOS/aerie-ui/blob/fa404631caee079275a8e86d529bb428f6243871/docker-compose-test.yml
version: '3.7'
services:
aerie_gateway:
container_name: aerie_gateway
depends_on: ['postgres']
environment:
AUTH_TYPE: none
GQL_API_URL: http://localhost:8080/v1/graphql
HASURA_GRAPHQL_JWT_SECRET: '${HASURA_GRAPHQL_JWT_SECRET}'
LOG_FILE: console
LOG_LEVEL: debug
NODE_TLS_REJECT_UNAUTHORIZED: '0'
PORT: 9000
POSTGRES_AERIE_MERLIN_DB: aerie_merlin
POSTGRES_AERIE_SCHEDULER_DB: aerie_scheduler
POSTGRES_HOST: postgres
POSTGRES_PASSWORD: '${AERIE_PASSWORD}'
POSTGRES_PORT: 5432
POSTGRES_USER: '${AERIE_USERNAME}'
image: 'ghcr.io/nasa-ammos/aerie-gateway:v1.6.2'
ports: ['9000:9000']
restart: always
volumes:
- aerie_file_store:/app/files
aerie_merlin:
container_name: aerie_merlin
depends_on: ['postgres']
environment:
MERLIN_DB: 'aerie_merlin'
MERLIN_DB_PASSWORD: '${AERIE_PASSWORD}'
MERLIN_DB_PORT: 5432
MERLIN_DB_SERVER: postgres
MERLIN_DB_USER: '${AERIE_USERNAME}'
MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store
MERLIN_PORT: 27183
MERLIN_USE_NEW_CONSTRAINT_PIPELINE: 'true'
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.logFile=System.err
UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z'
image: 'ghcr.io/nasa-ammos/aerie-merlin:v1.6.2'
ports: ['27183:27183']
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store
aerie_merlin_worker:
container_name: aerie_merlin_worker
depends_on: ['postgres']
environment:
MERLIN_WORKER_DB: 'aerie_merlin'
MERLIN_WORKER_DB_PASSWORD: '${AERIE_PASSWORD}'
MERLIN_WORKER_DB_PORT: 5432
MERLIN_WORKER_DB_SERVER: postgres
MERLIN_WORKER_DB_USER: '${AERIE_USERNAME}'
MERLIN_WORKER_LOCAL_STORE: /usr/src/app/merlin_file_store
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.logFile=System.err
UNTRUE_PLAN_START: '2000-01-01T11:58:55.816Z'
image: 'ghcr.io/nasa-ammos/aerie-merlin-worker:v1.6.2'
ports: ['27187:8080']
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store:ro
aerie_scheduler:
container_name: aerie_scheduler
depends_on: ['aerie_merlin', 'postgres']
environment:
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql
SCHEDULER_DB: 'aerie_scheduler'
SCHEDULER_DB_PASSWORD: '${AERIE_PASSWORD}'
SCHEDULER_DB_PORT: 5432
SCHEDULER_DB_SERVER: postgres
SCHEDULER_DB_USER: '${AERIE_USERNAME}'
SCHEDULER_PORT: 27185
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.defaultLogLevel=DEBUG
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.logFile=System.err
image: 'ghcr.io/nasa-ammos/aerie-scheduler:v1.6.2'
ports: ['27185:27185']
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store
aerie_scheduler_worker:
container_name: aerie_scheduler_worker
depends_on: ['postgres']
environment:
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql
MERLIN_LOCAL_STORE: /usr/src/app/merlin_file_store
SCHEDULER_OUTPUT_MODE: UpdateInputPlanWithNewActivities
SCHEDULER_RULES_JAR: /usr/src/app/merlin_file_store/scheduler_rules.jar
SCHEDULER_WORKER_DB: 'aerie_scheduler'
SCHEDULER_WORKER_DB_PASSWORD: '${AERIE_PASSWORD}'
SCHEDULER_WORKER_DB_PORT: 5432
SCHEDULER_WORKER_DB_SERVER: postgres
SCHEDULER_WORKER_DB_USER: '${AERIE_USERNAME}'
JAVA_OPTS: >
-Dorg.slf4j.simpleLogger.log.com.zaxxer.hikari=INFO
-Dorg.slf4j.simpleLogger.logFile=System.err
image: 'ghcr.io/nasa-ammos/aerie-scheduler-worker:v1.6.2'
ports: ['27189:8080']
restart: always
volumes:
- aerie_file_store:/usr/src/app/merlin_file_store:ro
aerie_sequencing:
container_name: aerie_sequencing
depends_on: ['postgres']
environment:
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
LOG_FILE: console
LOG_LEVEL: debug
MERLIN_GRAPHQL_URL: http://hasura:8080/v1/graphql
SEQUENCING_DB: aerie_sequencing
SEQUENCING_DB_PASSWORD: '${AERIE_PASSWORD}'
SEQUENCING_DB_PORT: 5432
SEQUENCING_DB_SERVER: postgres
SEQUENCING_DB_USER: '${AERIE_USERNAME}'
SEQUENCING_LOCAL_STORE: /usr/src/app/sequencing_file_store
SEQUENCING_SERVER_PORT: 27184
image: 'ghcr.io/nasa-ammos/aerie-sequencing:v1.6.2'
ports: ['27184:27184']
restart: always
volumes:
- aerie_file_store:/usr/src/app/sequencing_file_store
hasura:
container_name: aerie_hasura
depends_on: ['postgres']
environment:
AERIE_MERLIN_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_merlin'
AERIE_MERLIN_URL: 'http://aerie_merlin:27183'
AERIE_SCHEDULER_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_scheduler'
AERIE_SCHEDULER_URL: 'http://aerie_scheduler:27185'
AERIE_SEQUENCING_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_sequencing'
AERIE_SEQUENCING_URL: 'http://aerie_sequencing:27184'
AERIE_UI_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_ui'
HASURA_GRAPHQL_ADMIN_SECRET: '${HASURA_GRAPHQL_ADMIN_SECRET}'
HASURA_GRAPHQL_DEV_MODE: 'true'
HASURA_GRAPHQL_ENABLE_CONSOLE: 'true'
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
HASURA_GRAPHQL_JWT_SECRET: '${HASURA_GRAPHQL_JWT_SECRET}'
HASURA_GRAPHQL_LOG_LEVEL: info
HASURA_GRAPHQL_METADATA_DATABASE_URL: 'postgres://${AERIE_USERNAME}:${AERIE_PASSWORD}@postgres:5432/aerie_hasura'
HASURA_GRAPHQL_METADATA_DIR: /hasura-metadata
image: 'ghcr.io/nasa-ammos/aerie-hasura:v1.6.2'
ports: ['8080:8080']
restart: always
postgres:
container_name: aerie_postgres
environment:
AERIE_PASSWORD: '${AERIE_PASSWORD}'
AERIE_USERNAME: '${AERIE_USERNAME}'
POSTGRES_DB: postgres
POSTGRES_PASSWORD: '${POSTGRES_PASSWORD}'
POSTGRES_USER: '${POSTGRES_USER}'
image: 'ghcr.io/nasa-ammos/aerie-postgres:v1.6.2'
ports: ['5432:5432']
restart: always
volumes:
- postgres_data:/var/lib/postgresql/data

volumes:
aerie_file_store:
postgres_data:
6 changes: 3 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,14 +18,14 @@ packages = [
Changelog = "https://github.com/NASA-AMMOS/aerie-cli/releases"

[tool.poetry.dependencies]
python = "^3.9"
python = "^3.6.8"
click = "^8.0.1"
typer = "^0.4.0"
arrow = "^1.2.2"
requests = "^2.27.1"
rich = "^12.6.0"
dataclasses-json = "^0.5.6"
pandas = "^1.5.1"
attrs = "^22.2.0"
pandas = "^1.1.5"
appdirs = "^1.4.4"

[tool.poetry.dev-dependencies]
Expand Down
16 changes: 16 additions & 0 deletions src/aerie_cli/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
from .persistent import NoActiveSessionError
from aerie_cli.commands.command_context import CommandContext
from aerie_cli.__version__ import __version__
from aerie_cli.utils.configurations import find_configuration

app = typer.Typer()
app.add_typer(plans.app, name="plans")
Expand All @@ -31,6 +32,12 @@ def print_version(print_version: bool):
typer.echo(__version__)
raise typer.Exit()

def set_alternate_configuration(configuration_identifier: str):
if configuration_identifier == None:
return
found_configuration = find_configuration(configuration_identifier)

CommandContext.alternate_configuration = found_configuration

@app.callback()
def app_callback(
Expand All @@ -45,6 +52,15 @@ def app_callback(
default="",
help="Hasura admin secret that will be put in the header of graphql requests.",
),
configuration=typer.Option(
None,
"--configuration",
"-c",
callback=set_alternate_configuration,
help="Set a configuration to use rather than the persistent configuration.\n\
Accepts either a configuration name or the path to a configuration json.\n\
Configuration names are prioritized over paths.",
),
):
setup_global_command_context(hasura_admin_secret)

Expand Down
4 changes: 2 additions & 2 deletions src/aerie_cli/__version__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import sys

if sys.version_info < (3, 10):
# compatibility for python <3.10
if sys.version_info < (3, 8):
# compatibility for python <3.8
import importlib_metadata
else:
from importlib import metadata as importlib_metadata
Expand Down
Loading

0 comments on commit 5825e9f

Please sign in to comment.