|
22 | 22 | CACHED_BUILD_PATHS: | |
23 | 23 | ${{ github.workspace }}/dist-serverless |
24 | 24 | jobs: |
25 | | - test-web_1-latest: |
26 | | - name: Web 1 (latest) |
27 | | - timeout-minutes: 30 |
28 | | - runs-on: ${{ matrix.os }} |
29 | | - strategy: |
30 | | - fail-fast: false |
31 | | - matrix: |
32 | | - python-version: ["3.8","3.12","3.13"] |
33 | | - # python3.6 reached EOL and is no longer being supported on |
34 | | - # new versions of hosted runners on Github Actions |
35 | | - # ubuntu-20.04 is the last version that supported python3.6 |
36 | | - # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 |
37 | | - os: [ubuntu-22.04] |
38 | | - services: |
39 | | - postgres: |
40 | | - image: postgres |
41 | | - env: |
42 | | - POSTGRES_PASSWORD: sentry |
43 | | - # Set health checks to wait until postgres has started |
44 | | - options: >- |
45 | | - --health-cmd pg_isready |
46 | | - --health-interval 10s |
47 | | - --health-timeout 5s |
48 | | - --health-retries 5 |
49 | | - # Maps tcp port 5432 on service container to the host |
50 | | - ports: |
51 | | - - 5432:5432 |
52 | | - env: |
53 | | - SENTRY_PYTHON_TEST_POSTGRES_HOST: ${{ matrix.python-version == '3.6' && 'postgres' || 'localhost' }} |
54 | | - SENTRY_PYTHON_TEST_POSTGRES_USER: postgres |
55 | | - SENTRY_PYTHON_TEST_POSTGRES_PASSWORD: sentry |
56 | | - # Use Docker container only for Python 3.6 |
57 | | - container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }} |
58 | | - steps: |
59 | | - |
60 | | - - uses: actions/setup-python@v5 |
61 | | - if: ${{ matrix.python-version != '3.6' }} |
62 | | - with: |
63 | | - python-version: ${{ matrix.python-version }} |
64 | | - allow-prereleases: true |
65 | | - - name: Setup Test Env |
66 | | - run: | |
67 | | - pip install "coverage[toml]" tox |
68 | | - - name: Erase coverage |
69 | | - run: | |
70 | | - coverage erase |
71 | | - - name: Test django latest |
72 | | - run: | |
73 | | - set -x # print commands that are executed |
74 | | - ./scripts/runtox.sh "py${{ matrix.python-version }}-django-latest" |
75 | | - - name: Test flask latest |
76 | | - run: | |
77 | | - set -x # print commands that are executed |
78 | | - ./scripts/runtox.sh "py${{ matrix.python-version }}-flask-latest" |
79 | | - - name: Test starlette latest |
80 | | - run: | |
81 | | - set -x # print commands that are executed |
82 | | - ./scripts/runtox.sh "py${{ matrix.python-version }}-starlette-latest" |
83 | | - - name: Test fastapi latest |
84 | | - run: | |
85 | | - set -x # print commands that are executed |
86 | | - ./scripts/runtox.sh "py${{ matrix.python-version }}-fastapi-latest" |
87 | | - - name: Generate coverage XML (Python 3.6) |
88 | | - if: ${{ !cancelled() && matrix.python-version == '3.6' }} |
89 | | - run: | |
90 | | - export COVERAGE_RCFILE=.coveragerc36 |
91 | | - coverage combine .coverage-sentry-* |
92 | | - coverage xml --ignore-errors |
93 | | - - name: Generate coverage XML |
94 | | - if: ${{ !cancelled() && matrix.python-version != '3.6' }} |
95 | | - run: | |
96 | | - coverage combine .coverage-sentry-* |
97 | | - coverage xml |
98 | | - - name: Upload coverage to Codecov |
99 | | - if: ${{ !cancelled() }} |
100 | | - |
101 | | - with: |
102 | | - token: ${{ secrets.CODECOV_TOKEN }} |
103 | | - files: coverage.xml |
104 | | - # make sure no plugins alter our coverage reports |
105 | | - plugin: noop |
106 | | - verbose: true |
107 | | - - name: Upload test results to Codecov |
108 | | - if: ${{ !cancelled() }} |
109 | | - uses: codecov/test-results-action@v1 |
110 | | - with: |
111 | | - token: ${{ secrets.CODECOV_TOKEN }} |
112 | | - files: .junitxml |
113 | | - verbose: true |
114 | 25 | test-web_1-pinned: |
115 | 26 | name: Web 1 (pinned) |
116 | 27 | timeout-minutes: 30 |
|
0 commit comments