[Open Media Matcher] GitHub Actions Setup #1
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright (c) Meta Platforms, Inc. and affiliates. | |
name: Open Media Match CI | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- "open-media-match/**" | |
- ".github/workflows/omm-ci.yaml" | |
pull_request: | |
branches: | |
- main | |
paths: | |
- "open-media-match/**" | |
- ".github/workflows/omm-ci.yaml" | |
defaults: | |
run: | |
working-directory: open-media-match | |
jobs: | |
lint-check: | |
name: Lint python | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.11" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python3 -m pip install -e .[all] | |
- name: Check code format | |
run: | | |
black --check ./src | |
type-check: | |
name: Type-Check python | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: "3.11" | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
python3 -m pip install -e .[all] | |
- name: Check python types | |
run: | | |
python -m mypy src/OpenMediaMatch | |
test: | |
name: Pytest | |
runs-on: ubuntu-latest | |
# Service containers to run with `tests` | |
services: | |
postgres: | |
image: postgres | |
# Provide the env variables | |
env: | |
POSTGRES_DB: media_match | |
POSTGRES_USER: media_match | |
POSTGRES_PASSWORD: hunter2 | |
# Set health checks to wait until postgres has started | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build docker image | |
run: docker build -t local . | |
- name: Test with pytest on docker image | |
run: | | |
docker run local sh -c "python -m pip install --upgrade pip ; | |
pip install -e '.[test]' ; | |
py.test" |