Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/integration_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ permissions:
jobs:
integration_tests:
name: Integration tests
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@master
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@chore/update_to_uv
with:
WORKING_DIR: gen3-integration-tests
secrets:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/integration_tests_on_kind.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ permissions:
jobs:
integration_tests:
name: Integration tests
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@master
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@chore/update_to_uv
with:
WORKING_DIR: gen3-integration-tests
EXTERNAL_TO_CTDS: "true"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly_run.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
jobs:
nightly_run:
name: Nightly run
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@master
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@chore/update_to_uv
with:
WORKING_DIR: gen3-integration-tests
IS_NIGHTLY_RUN: "true"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly_run_gen3ff.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
jobs:
nightly_run_gen3ff:
name: Nightly run Gen3FF
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@master
uses: uc-cdis/.github/.github/workflows/integration_tests.yaml@chore/update_to_uv
with:
WORKING_DIR: gen3-integration-tests
IS_NIGHTLY_RUN: "true"
Expand Down
15 changes: 7 additions & 8 deletions .github/workflows/run_tests_against_dev_env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,10 @@ jobs:
if [[ "$REPO" == "gen3sdk-python" ]]; then
sed -i "s|^gen3 = \".*\"|gen3 = { git = \"https://github.com/uc-cdis/gen3sdk-python\", rev = \"$BRANCH\" }|" pyproject.toml
fi
pip install poetry
poetry lock
poetry install
poetry show
sudo apt update && poetry run playwright install-deps && poetry run playwright install --with-deps chromium
pip install uv
uv sync
uv pip list
sudo apt update && uv run playwright install-deps && uv run playwright install --with-deps chromium
sudo apt install openjdk-11-jre -y

- name: Configure AWS Credentials
Expand Down Expand Up @@ -133,7 +132,7 @@ jobs:
mkdir $HOME/.gen3
mkdir logs
echo "****** Prepare CI Environment ******" > logs/gh_action_logs.txt
./gen3_ci/scripts/generate_api_keys.sh test_data/test_setup/users.csv ${HOSTNAME} ${NAMESPACE} >> logs/gh_action_logs.txt 2>&1
./gen3_ci/scripts/generate_api_keys.sh test_data/test_setup/users.csv ${HOSTNAME_PROTOCOL} ${HOSTNAME} ${NAMESPACE} >> logs/gh_action_logs.txt 2>&1

- name: Get test labels
id: get_test_labels
Expand All @@ -152,7 +151,7 @@ jobs:
run: |
echo -e "\n\n************ Run tests ************" >> logs/gh_action_logs.txt
mkdir output
poetry run pytest --video=retain-on-failure -n logical -m "not wip" --alluredir allure-results --no-header --dist loadscope ${{ env.TEST_LABEL }} >> logs/gh_action_logs.txt 2>&1
uv run pytest --video=retain-on-failure -n logical -m "not wip" --alluredir allure-results --no-header --dist loadscope ${{ env.TEST_LABEL }} >> logs/gh_action_logs.txt 2>&1
if [ $? -ne 0 ]; then
echo "PR_ERROR_MSG=Test(s) failures encountered in PR" >> $GITHUB_ENV
fi
Expand Down Expand Up @@ -265,7 +264,7 @@ jobs:
id: generate_slack_report
if: ${{ steps.upload_allure_report.outcome == 'success' || steps.upload_gh_action_logs.outcome == 'success' }}
continue-on-error: true # if this fails, we still need to run clean-up steps
run: poetry run python -m gen3_ci.scripts.generate_slack_report
run: uv run python -m gen3_ci.scripts.generate_slack_report

- name: Publish report to Slack
id: slack_notify
Expand Down
4 changes: 2 additions & 2 deletions .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -324,7 +324,7 @@
"filename": "gen3-integration-tests/tests/test_oidc_client.py",
"hashed_secret": "62bd0c4d3a6b445b13212d23500a7f0916757c3e",
"is_verified": false,
"line_number": 143
"line_number": 144
}
],
"gen3-integration-tests/tests/test_presigned_url.py": [
Expand Down Expand Up @@ -394,5 +394,5 @@
}
]
},
"generated_at": "2026-06-23T15:10:45Z"
"generated_at": "2026-06-25T15:51:57Z"
}
4,564 changes: 0 additions & 4,564 deletions gen3-integration-tests/poetry.lock

This file was deleted.

88 changes: 38 additions & 50 deletions gen3-integration-tests/pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,59 +1,47 @@
[tool.poetry]
[project]
name = "gen3-integration-tests"
version = "0.1.0"
description = "Gen3 Integration Tests"
authors = ["CTDS UChicago <cdis@uchicago.edu>"]
license = "Apache-2.0"
description = "Add your description here"
readme = "README.md"
repository = "https://github.com/uc-cdis/gen3-code-vigil"
package-mode = false
include = [
"NOTICE",
authors = [
{ name = "CTDS UChicago", email = "cdis@uchicago.edu" }
]
license = "Apache-2.0"
requires-python = ">=3.13"
dependencies = [
"allure-pytest>=2.16.0",
"boto3>=1.38.20",
"cdislogging<2",
"data-simulator",
"fastavro>=1.8.2",
"filelock<4",
"gen3>=4.28.1",
"langchain>=1.2.10",
"langchain-core>=1.2.14",
"langchain-mcp-adapters>=0.2.1",
"langchain-ollama>=1.0.1",
"nextflow>=26.4.4",
"nextflowpy>=0.13.1", # see https://github.com/goodwright/nextflow.py/issues/14
"packaging>=26.2",
"pandas<3",
"psutil>=5.9.8",
"pypfb>=0.5.29",
"pytest>=7.4.0",
"pytest-md-report>=0.5.0",
"pytest-playwright>=0.4.3",
"pytest-xdist>=3.3.1",
"python-dateutil>=2.9.0.post0",
"python-dotenv>=1.0.0",
"requests>=2.32.5",
]

[tool.poetry.dependencies]
python = "^3.13"
cdislogging = "<2"
data-simulator = {git = "https://github.com/uc-cdis/data-simulator", rev = "1.6.5"}
filelock = "<4"
gen3 = "*"
pandas = "<3"
pytest = "^7.4.0"
pytest-md-report = "^0.5.0"
pytest-playwright = "^0.4.3"
pytest-xdist = "^3.3.1"
python-dateutil = "*"
python-dotenv = "^1.0.0"
requests = "^2.32.5"
pypfb = ">=0.5.29"
fastavro = "^1.8.2"
psutil = "^5.9.8"
allure-pytest = "^2.16.0"
boto3 = "^1.38.20"

# We need to support the latest version of Nextflow.
# DO NOT PIN THIS VERSION WITHOUT REPORTING THE ISSUE YOU ENCOUNTERED TO THE TEAM.
nextflow = "*"
nextflowpy = ">=0.13.1" # see https://github.com/goodwright/nextflow.py/issues/14

# NOTE: NumPy version is pinned to <2.0.0
# Without this, importing pandas throws the following error during CI:
# ValueError: numpy.dtype size changed, may indicate binary incompatibility.
# Expected 96 from C header, got 88 from PyObject
# This is caused by a tertiary dependency conflict between newer versions of NumPy, Pandas, and Gen3.
# numpy = "<2"
langchain = "^1.2.10"
langchain-ollama = "^1.0.1"
langchain-mcp-adapters = "^0.2.1"
langchain-core = "^1.2.14"
packaging = "^26.2"

[tool.poetry.group.dev.dependencies]
pre-commit = "^3.8.0"
[tool.uv.sources]
data-simulator = { git = "https://github.com/uc-cdis/data-simulator.git", rev = "1.6.5" }

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[dependency-groups]
dev = [
"pre-commit>=3.8.0",
]

[tool.pytest.ini_options]
testpaths = ["tests/"]
Expand Down
3 changes: 2 additions & 1 deletion gen3-integration-tests/tests/test_oidc_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,8 @@ def test_oidc_client_rotation(self):
logger.info(f"Getting client_id and client_secret for client {client_name} ...")
client_id = pytest.clients[client_name]["client_id"]
client_secret = pytest.clients[client_name]["client_secret"]
logger.info(client_id, client_secret)
logger.info(f"Client id: {client_id}")
logger.info(f"Client secret: {client_secret}")

# Client is rotated as part of the setup, to enable test execution in parallel for this test suite.
# Rotated client_id and client_secret are retrieved from pytest.rotated_clients.
Expand Down
Loading
Loading