Skip to content

Commit

Permalink
successfully converted to poetry
Browse files Browse the repository at this point in the history
  • Loading branch information
DonHaul committed Oct 14, 2024
1 parent b1ffd41 commit c68e4fc
Show file tree
Hide file tree
Showing 6 changed files with 1,120 additions and 175 deletions.
110 changes: 40 additions & 70 deletions .github/workflows/build-and-release.yml
Original file line number Diff line number Diff line change
@@ -1,75 +1,45 @@
name: Build and release
name: Pull request master (lint and test)

on:
push:
branches: [master]
pull_request:
branches: [master]
push:
branches: [master]
pull_request:
branches: [master]

env:
REGISTRY: registry.cern.ch
IMAGE: cern-sis/inspirehep/refextract

jobs:
test_and_publish:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Install dependencies
run: sudo apt-get update && sudo apt-get install poppler-utils

- name: Set up Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11

- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install setuptools wheel
pip install -e .[docs,tests]
- name: Show python dependencies
run: |
pip freeze
- name: Run tests
run: |
./run-tests.sh
- name: Build package
if: ${{ success() && github.event_name == 'push' }}
run: |
python setup.py sdist bdist_wheel
push_to_registry_and_deploy:
runs-on: ubuntu-20.04
needs: [test_and_publish]
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Pre-commit check
uses: pre-commit/[email protected]
- name: Build Image
id: build
uses: cern-sis/gh-workflows/.github/actions/docker-build@v6
with:
registry: ${{ env.REGISTRY }}
image: ${{ env.IMAGE }}
cache: false
username: ${{ secrets.HARBOR_USERNAME }}
password: ${{ secrets.HARBOR_PASSWORD }}

- name: Deploy QA
uses: cern-sis/gh-workflows/.github/actions/kubernetes-project-new-images@v6
with:
event-type: update
images: ${{ env.REGISTRY }}/${{ env.IMAGE }}@${{ steps.build.outputs.image-digest }}
token: ${{ secrets.PAT_FIRE_EVENTS_ON_CERN_SIS_KUBERNETES }}
lint_and_test:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Lint - Pre-commit check
uses: pre-commit/[email protected]
- name: Prep Build
uses: docker/setup-buildx-action@v3
- name: Build Docker image
run: docker build -t refextract .
- name: Run tests
run: docker run refextract /bin/bash -c "pip install refextract[tests] && pytest ."
push_and_deploy:
runs-on: ubuntu-latest
needs: [lint_and_test]
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
steps:
- name: Build Image
id: build
uses: cern-sis/gh-workflows/.github/actions/docker-build@v6
with:
registry: ${{ env.REGISTRY }}
image: ${{ env.IMAGE }}
cache: false
username: ${{ secrets.HARBOR_USERNAME }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: Deploy QA
uses: cern-sis/gh-workflows/.github/actions/kubernetes-project-new-images@v6
with:
event-type: update
images: ${{ env.REGISTRY }}/${{ env.IMAGE }}@${{ steps.build.outputs.image-digest }}
token: ${{ secrets.PAT_FIRE_EVENTS_ON_CERN_SIS_KUBERNETES }}
20 changes: 15 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
FROM python:3.11-slim-buster
RUN apt update && apt install poppler-utils -y
COPY setup.py setup.cfg README.rst ./
COPY refextract refextract/
RUN python setup.py install
FROM python:3.11.6-slim-bullseye AS python

ARG APP_HOME=/refextract
WORKDIR ${APP_HOME}

RUN apt update && apt install poppler-utils libmagic1 -y
COPY poetry.lock pyproject.toml setup.cfg README.rst ${APP_HOME}

RUN pip install --no-cache-dir poetry
RUN poetry config virtualenvs.create false \
&& poetry install --only main

COPY . ${APP_HOME}


ENV PROMETHEUS_MULTIPROC_DIR='/tmp'
ENTRYPOINT exec gunicorn -b :5000 --access-logfile - --error-logfile - refextract.app:app --timeout 650
Loading

0 comments on commit c68e4fc

Please sign in to comment.