diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..98afd78 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,79 @@ +name: "Test" + +on: + push: + branches: + - "main" + paths: + # Always run when workflow configs change + - ".github/workflows/**" + # Run when package changes + - "**" + release: + types: [published] + + pull_request: + branches: + - "main" + paths: + # Always run when workflow configs change + - ".github/workflows/**" + # Run when package changes + - "**" + + workflow_dispatch: {} + +jobs: + test_client: + runs-on: ubuntu-latest + + permissions: + contents: read + id-token: write + + strategy: + matrix: + python-version: + - 3.9 + + steps: + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v4 + id: setup_python + with: + python-version: ${{ matrix.python-version }} + cache: "pip" + cache-dependency-path: | + poetry.lock + + - name: Install dependencies (tests) + run: | + pip install pytest pytest-asyncio pytest-mock requests-mock + + - name: Install dependencies + working-directory: . + run: | + pip install -e . + + - name: Run tests + working-directory: . + run: | + echo $COHERE_API_KEY + pytest -sv tests/test_compass_client.py + pypi-publish: + if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') + runs-on: ubuntu-latest + needs: + - test_client + permissions: + id-token: write + + steps: + - name: Retrieve release distributions + uses: actions/download-artifact@v4 + with: + name: release-dists + path: dist/ + - name: Publish release distributions to PyPI + uses: pypa/gh-action-pypi-publish@3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f diff --git a/.github/workflows/test_publish.yml b/.github/workflows/test_publish.yml index f4857dc..edb2789 100644 --- a/.github/workflows/test_publish.yml +++ b/.github/workflows/test_publish.yml @@ -1,4 +1,4 @@ -name: "Test and Publish" +name: "Test" on: push: @@ -61,19 +61,3 @@ jobs: run: | echo $COHERE_API_KEY pytest -sv tests/test_compass_client.py - pypi-publish: - if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') - runs-on: ubuntu-latest - needs: - - test_client - permissions: - id-token: write - - steps: - - name: Retrieve release distributions - uses: actions/download-artifact@v4 - with: - name: release-dists - path: dist/ - - name: Publish release distributions to PyPI - uses: pypa/gh-action-pypi-publish@3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f \ No newline at end of file