Skip to content
10 changes: 8 additions & 2 deletions .kokoro/presubmit/presubmit-doctest-bigframes.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,13 @@ env_vars: {
value: "cleanup doctest"
}

# env_vars: {
# key: "GOOGLE_CLOUD_PROJECT"
# value: "..."
# }

# Override the build file to only run for bigframes.
env_vars: {
key: "GOOGLE_CLOUD_PROJECT"
value: "bigframes-testing"
key: "TRAMPOLINE_BUILD_FILE"
value: "github/google-cloud-python/packages/bigframes/scripts/run_doctest.sh"
}
3 changes: 0 additions & 3 deletions packages/bigframes/noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -392,9 +392,6 @@ def system_noextras(session: nox.sessions.Session):
@nox.session(python="3.12")
def doctest(session: nox.sessions.Session):
"""Run the system test suite."""
session.skip(
"Temporary skip to enable a PR merge. Remove skip as part of closing https://github.com/googleapis/google-cloud-python/issues/16489"
)

run_system(
session=session,
Expand Down
51 changes: 51 additions & 0 deletions packages/bigframes/scripts/run_doctest.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
#!/bin/bash
# `-e` enables the script to automatically fail when a command fails
# `-o pipefail` sets the exit code to non-zero if any command fails,
# or zero if all commands in the pipeline exit successfully.
set -eo pipefail

# Disable buffering, so that the logs stream through.
export PYTHONUNBUFFERED=1

# Assume we are running from the repo root or we need to find it.
# If this script is in packages/bigframes/scripts/run_doctest.sh,
# then repo root is 3 levels up.
export PROJECT_ROOT=$(realpath "$(dirname "${BASH_SOURCE[0]}")/../../..")
cd "$PROJECT_ROOT"

# This is needed in order for `git diff` to succeed
git config --global --add safe.directory "$(realpath .)"

package_name="bigframes"
package_path="packages/${package_name}"

# Determine if we should skip based on git diff
files_to_check="${package_path}"

if [[ -n "${KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH}" && -n "${KOKORO_GITHUB_PULL_REQUEST_COMMIT}" ]]; then
echo "checking changes with 'git diff ${KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH}...${KOKORO_GITHUB_PULL_REQUEST_COMMIT} -- ${files_to_check}'"
set +e
package_modified=$(git diff "${KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH}...${KOKORO_GITHUB_PULL_REQUEST_COMMIT}" -- "${files_to_check}" | wc -l)
set -e
else
package_modified=0
fi

if [[ "${package_modified}" -gt 0 || "$KOKORO_BUILD_ARTIFACTS_SUBDIR" == *"continuous"* ]]; then
echo "------------------------------------------------------------"
echo "Running doctest for: ${package_name}"
echo "------------------------------------------------------------"

# Ensure credentials are set for system tests in Kokoro
if [[ -z "${GOOGLE_APPLICATION_CREDENTIALS}" && -f "${KOKORO_GFILE_DIR}/service-account.json" ]]; then
export GOOGLE_APPLICATION_CREDENTIALS="${KOKORO_GFILE_DIR}/service-account.json"
fi

export GOOGLE_CLOUD_PROJECT="precise-truck-742"
cd "${package_path}"

python3 -m nox -s cleanup || echo "Warning: Cleanup session failed, proceeding to doctest."
python3 -m nox -s doctest
else
echo "No changes in ${package_name} and not a continuous build, skipping."
fi
4 changes: 2 additions & 2 deletions packages/bigframes/tests/system/small/test_series.py
Original file line number Diff line number Diff line change
Expand Up @@ -1234,7 +1234,7 @@ def test_divmods_series(scalars_dfs, col_x, col_y, method):
# BigQuery's mod functions return NUMERIC values for non-INT64 inputs.
if bf_div_result.dtype == pd.Int64Dtype():
bigframes.testing.utils.assert_series_equal(
pd_div_result, bf_div_result.to_pandas()
pd_div_result, bf_div_result.to_pandas(), check_dtype=False
)
else:
bigframes.testing.utils.assert_series_equal(
Expand Down Expand Up @@ -1279,7 +1279,7 @@ def test_divmods_scalars(scalars_dfs, col_x, other, method):
# BigQuery's mod functions return NUMERIC values for non-INT64 inputs.
if bf_div_result.dtype == pd.Int64Dtype():
bigframes.testing.utils.assert_series_equal(
pd_div_result, bf_div_result.to_pandas()
pd_div_result, bf_div_result.to_pandas(), check_dtype=False
)
else:
bigframes.testing.utils.assert_series_equal(
Expand Down
Loading