Skip to content

Commit e4b3cb2

Browse files
committed
add missing files
1 parent 0bb2159 commit e4b3cb2

File tree

3 files changed

+561
-0
lines changed

3 files changed

+561
-0
lines changed
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# Do not edit this YAML file. This file is generated automatically by executing
2+
# python scripts/split_tox_gh_actions/split_tox_gh_actions.py
3+
# The template responsible for it is in
4+
# scripts/split_tox_gh_actions/templates/base.jinja
5+
name: Test Flags
6+
on:
7+
push:
8+
branches:
9+
- master
10+
- release/**
11+
- sentry-sdk-2.0
12+
pull_request:
13+
# Cancel in progress workflows on pull_requests.
14+
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
17+
cancel-in-progress: true
18+
permissions:
19+
contents: read
20+
env:
21+
BUILD_CACHE_KEY: ${{ github.sha }}
22+
CACHED_BUILD_PATHS: |
23+
${{ github.workspace }}/dist-serverless
24+
jobs:
25+
test-flags:
26+
name: Flags
27+
timeout-minutes: 30
28+
runs-on: ${{ matrix.os }}
29+
strategy:
30+
fail-fast: false
31+
matrix:
32+
python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","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-20.04]
38+
steps:
39+
- uses: actions/[email protected]
40+
- uses: actions/setup-python@v5
41+
with:
42+
python-version: ${{ matrix.python-version }}
43+
allow-prereleases: true
44+
- name: Setup Test Env
45+
run: |
46+
pip install "coverage[toml]" tox
47+
- name: Erase coverage
48+
run: |
49+
coverage erase
50+
- name: Test launchdarkly
51+
run: |
52+
set -x # print commands that are executed
53+
./scripts/runtox.sh "py${{ matrix.python-version }}-launchdarkly"
54+
- name: Test openfeature
55+
run: |
56+
set -x # print commands that are executed
57+
./scripts/runtox.sh "py${{ matrix.python-version }}-openfeature"
58+
- name: Test unleash
59+
run: |
60+
set -x # print commands that are executed
61+
./scripts/runtox.sh "py${{ matrix.python-version }}-unleash"
62+
- name: Generate coverage XML (Python 3.6)
63+
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
64+
run: |
65+
export COVERAGE_RCFILE=.coveragerc36
66+
coverage combine .coverage-sentry-*
67+
coverage xml --ignore-errors
68+
- name: Generate coverage XML
69+
if: ${{ !cancelled() && matrix.python-version != '3.6' }}
70+
run: |
71+
coverage combine .coverage-sentry-*
72+
coverage xml
73+
- name: Upload coverage to Codecov
74+
if: ${{ !cancelled() }}
75+
uses: codecov/[email protected]
76+
with:
77+
token: ${{ secrets.CODECOV_TOKEN }}
78+
files: coverage.xml
79+
# make sure no plugins alter our coverage reports
80+
plugin: noop
81+
verbose: true
82+
- name: Upload test results to Codecov
83+
if: ${{ !cancelled() }}
84+
uses: codecov/test-results-action@v1
85+
with:
86+
token: ${{ secrets.CODECOV_TOKEN }}
87+
files: .junitxml
88+
verbose: true
89+
check_required_tests:
90+
name: All Flags tests passed
91+
needs: test-flags
92+
# Always run this, even if a dependent job failed
93+
if: always()
94+
runs-on: ubuntu-20.04
95+
steps:
96+
- name: Check for failures
97+
if: contains(needs.test-flags.result, 'failure') || contains(needs.test-flags.result, 'skipped')
98+
run: |
99+
echo "One of the dependent jobs has failed. You may need to re-run it." && exit 1
Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
# XXX move this to conftest?
2+
DEPENDENCIES = {
3+
# package: [test_dependency_1, test_dependency_2, ...]
4+
#
5+
# The main package (e.g. aiohttp for the aiohttp test suite) needs to be
6+
# the first dependency listed. The script will then query PYPI for releases
7+
# of the package and will pick a handful to test against.
8+
"aiohttp": [
9+
"aiohttp",
10+
"pytest-aiohttp",
11+
"pytest-asyncio",
12+
],
13+
"anthropic": [
14+
"anthropic",
15+
"httpx", # TODO has an upper bound anthropic-v{0.16,0.28}: httpx<0.28.0
16+
"pytest-asyncio",
17+
],
18+
"ariadne": [
19+
"ariadne",
20+
"fastapi",
21+
"flask",
22+
"httpx",
23+
],
24+
"arq": [
25+
"arq",
26+
"pydantic", # TODO arq-v0.23: pydantic<2
27+
"fakeredis>=2.2.0,<2.8",
28+
"pytest-asyncio",
29+
"async-timeout",
30+
],
31+
"asyncpg": [
32+
"asyncpg",
33+
"pytest-asyncio",
34+
],
35+
"aws_lambda": [
36+
"boto3",
37+
],
38+
"beam": ["apache-beam"],
39+
"boto3": [
40+
"boto3",
41+
],
42+
"bottle": [
43+
"bottle",
44+
"werkzeug<2.1.0",
45+
],
46+
"celery": [
47+
"celery",
48+
"importlib-metadata", # {py3.7}-celery: importlib-metadata<5.0
49+
"newrelic",
50+
"redis",
51+
],
52+
"chalice": [
53+
"chalice",
54+
"pytest-chalice==0.0.5",
55+
],
56+
"clickhouse-driver": [
57+
"clickhouse-driver",
58+
],
59+
"cohere": [
60+
"cohere",
61+
],
62+
"django": [
63+
"django",
64+
"channels[daphne]", # django-v{2.0,2.2,3.0,3.2,4.0,4.1,4.2,5.0,5.1}: channels[daphne]
65+
"djangorestframework", # django-v{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: djangorestframework>=3.0.0,<4.0.0
66+
"psycopg2-binary",
67+
"pytest-asyncio",
68+
"pytest-django", # django-v{1.11,2.0,2.2,3.0}: pytest-django<4.0
69+
"six", # django-v{2.2,3.0}: six
70+
"werkzeug", # django-v{1.11,2.0,2.2,3.0,3.2}: Werkzeug<2.1.0
71+
],
72+
"dramatiq": [
73+
"dramatiq",
74+
],
75+
"falcon": [
76+
"falcon",
77+
],
78+
"fastapi": [
79+
"fastapi",
80+
"httpx",
81+
"anyio<4.0.0",
82+
"python-multipart",
83+
"pytest-asyncio",
84+
"requests",
85+
],
86+
"flask": [
87+
"flask",
88+
"flask-login",
89+
"werkzeug", # flask-v{1,2.0}: Werkzeug<2.1.0
90+
"markupsafe", # flask-v{1,2.0}: markupsafe<2.1.0
91+
],
92+
"gql": [
93+
"gql[all]",
94+
],
95+
"graphene": [
96+
"graphene",
97+
"blinker",
98+
"fastapi",
99+
"flask",
100+
"httpx",
101+
],
102+
"grpc": [
103+
"grpcio",
104+
"protobuf",
105+
"mypy-protobuf",
106+
"types-protobuf",
107+
"pytest-asyncio",
108+
],
109+
"httpx": [
110+
"httpx",
111+
"anyio<4.0.0",
112+
],
113+
"huey": [
114+
"huey",
115+
],
116+
"huggingface_hub": [
117+
"huggingface_hub",
118+
],
119+
"langchain": [
120+
"langchain",
121+
"langchain-community",
122+
"openai",
123+
"tiktoken",
124+
"httpx",
125+
],
126+
"langchain-notiktoken": [
127+
"langchain",
128+
"langchain-openai",
129+
"openai",
130+
],
131+
"litestar": [
132+
"litestar",
133+
"pytest-asyncio",
134+
"python-multipart",
135+
"requests",
136+
"cryptography",
137+
"httpx",
138+
],
139+
"loguru": [
140+
"loguru",
141+
],
142+
"openai": [
143+
"openai",
144+
"pytest-asyncio",
145+
"tiktoken",
146+
"httpx",
147+
],
148+
"openai-notiktoken": [
149+
"openai",
150+
"pytest-asyncio",
151+
],
152+
"openfeature": [
153+
"openfeature-sdk",
154+
],
155+
"launchdarkly": [
156+
"launchdarkly-server-sdk",
157+
],
158+
"opentelemetry": [
159+
"opentelemetry-distro",
160+
],
161+
"pure_eval": [
162+
"pure_eval",
163+
],
164+
"pymongo": [
165+
"pymongo",
166+
"mockupdb",
167+
],
168+
"pyramid": [
169+
"pyramid",
170+
"werkzeug<2.1.0",
171+
],
172+
"quart": [
173+
"quart",
174+
"quart-auth",
175+
"pytest-asyncio",
176+
"blinker",
177+
"jinja2",
178+
"hypercorn",
179+
"taskgroup",
180+
],
181+
"ray": [
182+
"ray",
183+
],
184+
"redis": [
185+
"redis",
186+
"fakeredis",
187+
"pytest<8.0.0",
188+
"pytest-asyncio",
189+
],
190+
"redis-py-cluster-legacy": [
191+
"redis-py-cluster",
192+
],
193+
"requests": [
194+
"requests",
195+
],
196+
"rq": [
197+
"rq",
198+
"fakeredis",
199+
],
200+
"sanic": [
201+
"sanic",
202+
"websockets<11.0",
203+
"aiohttp",
204+
"sanic_testing",
205+
"aiocontextvars",
206+
],
207+
"spark": [
208+
"pyspark",
209+
],
210+
"starlette": [
211+
"starlette",
212+
"pytest-asyncio",
213+
"python-multipart",
214+
"requests",
215+
"anyio<4.0.0",
216+
"jinja2",
217+
"httpx",
218+
],
219+
"starlite": [
220+
"starlite",
221+
"pytest-asyncio",
222+
"pytest-multipart",
223+
"requests",
224+
"cryptography",
225+
"pydantic<2.0.0",
226+
"httpx<0.28",
227+
],
228+
"sqlalchemy": [
229+
"sqlalchemy",
230+
],
231+
"strawberry": [
232+
"strawberry-graphql[fastapi,flask]",
233+
"fastapi",
234+
"flask",
235+
"httpx",
236+
],
237+
"tornado": [
238+
"tornado",
239+
"pytest",
240+
],
241+
"trytond": [
242+
"trytond",
243+
"werkzeug",
244+
],
245+
"typer": [
246+
"typer",
247+
],
248+
"unleash": [
249+
"UnleashClient",
250+
],
251+
}

0 commit comments

Comments
 (0)