Files
dev-gpt/.github/workflows/ci.yml
2023-05-22 13:24:41 +02:00

120 lines
3.6 KiB
YAML

name: CI
on:
workflow_dispatch:
pull_request:
jobs:
test_cognitive_level:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
group: [0, 1, 2, 3, 4, 5_company_logos]
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Prepare environment
run: |
python -m pip install --upgrade pip
python -m pip install wheel
pip install --no-cache-dir ".[full,test]"
pip install pytest
pip install pytest-split
- name: Test
id: test
run: |
pytest -vs test/integration/test_generator.py::test_generation_level_${{ matrix.group }}
timeout-minutes: 17
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
SCENEX_API_KEY: ${{ secrets.SCENEX_API_KEY }}
WHISPER_API_KEY: ${{ secrets.WHISPER_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }}
test_unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Prepare environment
run: |
python -m pip install --upgrade pip
python -m pip install wheel
pip install --no-cache-dir ".[full,test]"
pip install pytest
pip install pytest-split
- name: Test
id: test
run: |
pytest -vs test/unit
timeout-minutes: 15
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
SCENEX_API_KEY: ${{ secrets.SCENEX_API_KEY }}
WHISPER_API_KEY: ${{ secrets.WHISPER_API_KEY }}
GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
GOOGLE_CSE_ID: ${{ secrets.GOOGLE_CSE_ID }}
base-image-push:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v2
- name: Check if code relevant to executor has changed
uses: dorny/paths-filter@v2
id: check
with:
filters: |
changed:
- dev_gpt/options/generate/static_files/base_image/**
- name: Get base image tag
if: steps.check.outputs.changed == 'true'
shell: bash
run: |
FILE='dev_gpt/constants.py'
VERSION=$(sed -n '/DOCKER_BASE_IMAGE_VERSION =/p' $FILE | cut -d \' -f2)
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Check that tag isn't used already for the docker base image
if: steps.check.outputs.changed == 'true'
env:
VERSION: ${{ env.VERSION }}
shell: bash
run: |
if docker pull jinaai/dev-gpt:$VERSION; then
echo "Executor version/tag is used already. Please update the tag"
exit 1
else
echo "Executor version/tag isn't used already, continue to build..."
fi
- name: Set up Docker Buildx
if: steps.check.outputs.changed == 'true'
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
if: steps.check.outputs.changed == 'true'
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_DEVBOT_USER }}
password: ${{ secrets.DOCKERHUB_DEVBOT_PWD }}
- name: Build and Push Docker Image
if: steps.check.outputs.changed == 'true'
uses: docker/build-push-action@v2
with:
context: dev_gpt/options/generate/static_files/base_image
push: true
tags: jinaai/dev-gpt:${{ env.VERSION }}