Skip to content

Commit

Permalink
Merge pull request #1 from PSNAppz/1.0.0
Browse files Browse the repository at this point in the history
G2P Bridge API + Celery Task Workers & Beat Producers
  • Loading branch information
venky-ganapathy authored Aug 5, 2024
2 parents af45199 + 7edfe3d commit ca7c485
Show file tree
Hide file tree
Showing 129 changed files with 7,940 additions and 164 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build Docker and Push

on:
push:
workflow_dispatch:

jobs:
docker-build:
name: Docker Build and Push
runs-on: ubuntu-latest
env:
NAMESPACE: ${{ secrets.docker_hub_organisation || 'openg2p' }}
SERVICE_NAME: openg2p-g2p-bridge-api
steps:
- uses: actions/checkout@v3
- name: Docker build
run: |
BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')
IMAGE_ID=$NAMESPACE/$SERVICE_NAME
# Change all uppercase to lowercase
IMAGE_ID=$(echo $IMAGE_ID | tr '[A-Z]' '[a-z]')
VERSION=$BRANCH_NAME
if [[ $BRANCH_NAME == master || $BRANCH_NAME == main ]]; then
VERSION=develop
fi
echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION
echo IMAGE_ID=$IMAGE_ID >> $GITHUB_ENV
echo VERSION=$VERSION >> $GITHUB_ENV
docker build . \
--file Dockerfile \
--tag $IMAGE_ID:$VERSION
if [[ '${{ secrets.docker_hub_token }}' != '' && '${{ secrets.docker_hub_actor }}' != '' ]]; then
export DOCKER_PUSH="true"
echo DOCKER_PUSH=$DOCKER_PUSH >> $GITHUB_ENV
fi
- name: Docker push
if: env.DOCKER_PUSH == 'true'
run: |
echo "${{ secrets.docker_hub_token }}" | docker login -u ${{ secrets.docker_hub_actor }} --password-stdin
docker push ${{ env.IMAGE_ID }}:${{ env.VERSION }}
51 changes: 51 additions & 0 deletions .github/workflows/openapi-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: openapi publish on push

on:
push:
workflow_dispatch:

jobs:
openapi-publish:
name: OpenAPI Generate and Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Get branch name (merge)
run: |
echo "BRANCH_NAME=$(echo ${{ github.ref }} | sed -e 's,.*/\(.*\),\1,')" >> $GITHUB_ENV
- name: Setup python for openapi generate
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install app
run: |
python -m pip install git+https://github.com/openg2p/openg2p-fastapi-common@develop\#subdirectory=openg2p-fastapi-common
python -m pip install git+https://github.com/openg2p/openg2p-fastapi-common@develop\#subdirectory=openg2p-fastapi-auth
python -m pip install .
- name: Generate openapi json
run: |
mkdir -p api-docs/generated
python3 main.py getOpenAPI api-docs/generated/openapi.json
if ! [ -z "$(git status --porcelain=v1 2>/dev/null -- api-docs/generated/openapi.json)" ]; then
shopt -s nocasematch
if [[ ${{ github.repository_owner }} == 'OpenG2P' ]]; then
export OPENAPI_CHANGED="true"
echo OPENAPI_CHANGED=$OPENAPI_CHANGED >> $GITHUB_ENV
fi
fi
- name: Commit Changes
uses: EndBug/add-and-commit@v7
if: env.OPENAPI_CHANGED == 'true'
with:
default_author: github_actions
message: "Generated new openapi.json on push to ${{ github.event.inputs.git-ref }}"
add: "api-docs/generated/openapi.json"
- name: Setup nodejs
uses: actions/setup-node@v4
if: env.OPENAPI_CHANGED == 'true'
with:
node-version: '18'
- name: Publish to stoplight
if: env.OPENAPI_CHANGED == 'true'
run: |
npx @stoplight/cli@5 push --ci-token ${{ secrets.STOPLIGHT_PROJECT_TOKEN }} --url https://openg2p.stoplight.io --branch ${{ env.BRANCH_NAME }} --directory api-docs/generated
16 changes: 16 additions & 0 deletions .github/workflows/pre-commit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: pre-commit

on:
pull_request:
push:
workflow_dispatch:

jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v3
- uses: pre-commit/[email protected]
with:
extra_args: --all-files --show-diff-on-failure
22 changes: 22 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: Publish to PyPI

on:
workflow_dispatch

jobs:
publish-to-pypi:
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- uses: actions/checkout@v3
- name: Install build dependencies
run: pip install build
- name: Build distribution
run: python -m build
- name: Publish
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
50 changes: 50 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Test and coverage

on:
pull_request:
push:
workflow_dispatch:

concurrency:
group: check-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
name: test with ${{ matrix.py }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
py:
- "3.10"
os:
- ubuntu-latest
services:
postgres:
image: postgres:9.6
env:
POSTGRES_USER: openg2p
POSTGRES_PASSWORD: openg2p
POSTGRES_DB: openg2p
ports:
- 5432:5432
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Setup python for test ${{ matrix.py }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.py }}
- name: Install test requirements
run: |
python -m pip install -r test-requirements.txt
python -m pip install -e .
- name: Run test suite
run: |
pytest --cov-branch --cov-report=term-missing --cov=openg2p_g2p_bridge_api --cov=tests
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
162 changes: 0 additions & 162 deletions .gitignore

This file was deleted.

2 changes: 0 additions & 2 deletions README.md

This file was deleted.

17 changes: 17 additions & 0 deletions openg2p-g2p-bridge-api/.copier-answers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Do NOT update manually; changes here will be overwritten by Copier
_commit: af08ec1
_src_path: https://github.com/openg2p/openg2p-fastapi-template
github_ci_docker_build: true
github_ci_openapi_publish: true
github_ci_precommit: true
github_ci_pypi_publish: true
github_ci_tests: true
github_ci_tests_codecov: true
module_name: openg2p_g2p_bridge_api
org_name: OpenG2P
org_slug: OpenG2P
package_name: openg2p-g2p-bridge-api
repo_name: ' openg2p-g2p-bridge-api
'
repo_slug: openg2p-g2p-bridge-api
Loading

0 comments on commit ca7c485

Please sign in to comment.