name: tests on: workflow_call: inputs: custom-pytest: description: "Custom pytest arguments" required: true type: string python-version: default: "3.9" type: string os-version: default: "ubuntu-latest" type: string db-url: default: "" type: string db-name: default: "lnbits" type: string secrets: CODECOV_TOKEN: required: true jobs: tests: runs-on: ${{ inputs.os-version }} services: postgres: image: postgres:latest env: POSTGRES_USER: lnbits POSTGRES_PASSWORD: lnbits POSTGRES_DB: ${{ inputs.db-name }} ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v4 - uses: ./.github/actions/prepare with: python-version: ${{ inputs.python-version }} - name: Run pytest uses: pavelzw/pytest-action@v2 env: LNBITS_DATABASE_URL: ${{ inputs.db-url }} LNBITS_BACKEND_WALLET_CLASS: FakeWallet PYTHONUNBUFFERED: 1 DEBUG: true with: verbose: true job-summary: true emoji: false click-to-expand: true custom-pytest: ${{ inputs.custom-pytest }} report-title: "test (${{ inputs.python-version }}, ${{ inputs.db-url }})" - name: Upload coverage to Codecov uses: codecov/codecov-action@v4 with: file: ./coverage.xml token: ${{ secrets.CODECOV_TOKEN }} verbose: false