From 0477b05709ab7b0de96e7090ca8ed55e0b49deef Mon Sep 17 00:00:00 2001 From: Juan Mrad Date: Thu, 24 Aug 2023 14:48:58 -0500 Subject: [PATCH] Add initial setup for github actions --- .github/workflows/omm-ci.yaml | 79 +++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .github/workflows/omm-ci.yaml diff --git a/.github/workflows/omm-ci.yaml b/.github/workflows/omm-ci.yaml new file mode 100644 index 000000000..d3e0f74e2 --- /dev/null +++ b/.github/workflows/omm-ci.yaml @@ -0,0 +1,79 @@ +# 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"