refactor: integration tests #680
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
name: Tests | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install secator | |
uses: ./.github/actions/install | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run lint tests | |
run: | | |
secator test lint | |
unit: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.7", "3.11"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install secator | |
uses: ./.github/actions/install | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Run unit tests | |
run: | | |
secator test unit | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
if: ${{ matrix.python-version == '3.11' }} | |
with: | |
name: coverage-unit | |
include-hidden-files: true | |
path: .coverage.unit | |
integration: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install secator | |
uses: ./.github/actions/install | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup docker compose | |
uses: KengoTODA/actions-setup-docker-compose@v1 | |
with: | |
version: '1.29.2' | |
- name: Add GOBIN to PATH | |
run: echo "${HOME}/.local/bin" >> $GITHUB_PATH | |
- name: Add GOPATH to PATH | |
run: echo "${HOME}/go/bin" >> $GITHUB_PATH | |
- name: Install dependencies | |
run: | | |
secator install langs go | |
secator install langs ruby | |
secator install tools | |
secator install addons worker | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # to avoid being rate-limited when fetching GitHub releases | |
- name: Run integration tests | |
run: | | |
secator test integration --test test_celery,test_worker,test_tasks | |
env: | |
SECATOR_DEBUG_COMPONENT: celery,runner | |
- name: Archive code coverage results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: coverage-integration | |
include-hidden-files: true | |
path: .coverage.integration | |
coverage: | |
runs-on: ubuntu-latest | |
needs: [ unit, integration] | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Install secator | |
uses: ./.github/actions/install | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/download-artifact@v4 | |
with: | |
merge-multiple: true | |
- name: Run coverage report | |
run: | | |
secator test coverage |