From 89201ddc9b51e15df96e0e156f4452b0b0fdbe9d Mon Sep 17 00:00:00 2001 From: Hunter Gerlach Date: Wed, 27 Sep 2023 17:52:11 -0400 Subject: [PATCH] Add api spec test action (#49) This test is not blocking, but run automatically so developers can track api status updates --- .github/workflows/api-test.yml | 60 ++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 .github/workflows/api-test.yml diff --git a/.github/workflows/api-test.yml b/.github/workflows/api-test.yml new file mode 100644 index 0000000..e0e4141 --- /dev/null +++ b/.github/workflows/api-test.yml @@ -0,0 +1,60 @@ +name: API Spec Test + +on: + pull_request: + paths: + - "src/**" + - ".github/workflows/**" + - "Makefile" + - "pyproject.toml" + - "poetry.lock" + push: + branches: + - main + +env: + POETRY_VERSION: "1.6.1" + WORKDIR: ${{ inputs.working-directory == '' && '.' || inputs.working-directory }} + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.9", "3.10", "3.11"] # Support starts at v3.9 + fail-fast: false + + steps: + - name: Checkout Code + uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + Poetry ${{ env.POETRY_VERSION }} + uses: "./.github/actions/poetry_setup" + with: + python-version: ${{ matrix.python-version }} + poetry-version: ${{ env.POETRY_VERSION }} + working-directory: ${{ inputs.working-directory }} + cache-key: lint-with-extras + + - name: Check Poetry File + shell: bash + working-directory: ${{ inputs.working-directory }} + run: | + poetry check + + - name: Check lock file + shell: bash + working-directory: ${{ inputs.working-directory }} + run: | + poetry lock --check + + - name: Install dependencies + working-directory: ${{ inputs.working-directory }} + run: | + poetry install + + - name: Set PYTHONPATH + run: echo "PYTHONPATH=$(pwd)" >> $GITHUB_ENV + + - name: Run API Spec Test + run: make test-api