-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
265 changed files
with
3,339 additions
and
1,996 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
name: Check which tests to run | ||
|
||
on: | ||
workflow_call: | ||
outputs: | ||
weave_query_tests: | ||
value: ${{ jobs.check.outputs.weave_query_tests }} | ||
weave_js_tests: | ||
value: ${{ jobs.check.outputs.weave_js_tests }} | ||
trace_server_tests: | ||
value: ${{ jobs.check.outputs.trace_server_tests }} | ||
|
||
env: | ||
WEAVE_QUERY_PATHS: 'weave_query/' | ||
WEAVE_JS_PATHS: 'weave-js/' | ||
TRACE_SERVER_PATHS: 'weave/trace_server/' | ||
# Everything else is implicitly trace SDK | ||
|
||
jobs: | ||
check: | ||
runs-on: ubuntu-latest | ||
outputs: | ||
weave_query_tests: ${{ steps.weave_query.outputs.run_tests }} | ||
weave_js_tests: ${{ steps.weave_js.outputs.run_tests }} | ||
trace_server_tests: ${{ steps.trace_server.outputs.run_tests }} | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
fetch-tags: true | ||
ref: ${{ github.head_ref }} | ||
- name: Get changed files | ||
run: | | ||
# Fetch all branches | ||
git fetch --all | ||
# Determine the base branch and current commit | ||
if [[ "${{ github.event_name }}" == "pull_request" ]]; then | ||
# For pull requests | ||
BASE_BRANCH="${{ github.base_ref }}" | ||
CURRENT_COMMIT="${{ github.event.pull_request.head.sha }}" | ||
else | ||
# For pushes | ||
BASE_BRANCH=$(git remote show origin | sed -n '/HEAD branch/s/.*: //p') | ||
CURRENT_COMMIT="${{ github.sha }}" | ||
fi | ||
echo "Base branch is $BASE_BRANCH" | ||
# Find the common ancestor | ||
MERGE_BASE=$(git merge-base origin/$BASE_BRANCH $CURRENT_COMMIT) | ||
# Get changed files | ||
changed_files=$(git diff --name-only $MERGE_BASE $CURRENT_COMMIT) | ||
echo "Changed files:" | ||
echo "$changed_files" | ||
echo "changed_files<<EOF" >> $GITHUB_ENV | ||
echo "$changed_files" >> $GITHUB_ENV | ||
echo "EOF" >> $GITHUB_ENV | ||
- id: weave_query | ||
name: Weave Query Checks | ||
run: | | ||
for path in ${{ env.WEAVE_QUERY_PATHS }}; do | ||
if echo "$changed_files" | grep -q "$path"; then | ||
echo "run_tests=true" >> $GITHUB_OUTPUT | ||
exit 0 | ||
fi | ||
done | ||
echo "run_tests=false" >> $GITHUB_OUTPUT | ||
- id: weave_js | ||
name: Weave JS Checks | ||
run: | | ||
for path in ${{ env.WEAVE_JS_PATHS }}; do | ||
if echo "$changed_files" | grep -q "$path"; then | ||
echo "run_tests=true" >> $GITHUB_OUTPUT | ||
exit 0 | ||
fi | ||
done | ||
echo "run_tests=false" >> $GITHUB_OUTPUT | ||
- id: trace_server | ||
name: Weave Trace Server Checks | ||
run: | | ||
for path in ${{ env.TRACE_SERVER_PATHS }}; do | ||
if echo "$changed_files" | grep -q "$path"; then | ||
echo "run_tests=true" >> $GITHUB_OUTPUT | ||
exit 0 | ||
fi | ||
done | ||
echo "run_tests=false" >> $GITHUB_OUTPUT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -27,4 +27,4 @@ jobs: | |
# branch should not be protected | ||
branch: "cla" | ||
# cannot use teams due to: https://github.com/contributor-assistant/github-action/issues/100 | ||
allowlist: actions-user, altay, bdytx5, dannygoldstein, davidwallacejackson, jamie-rasmussen, jlzhao27, jo-fang, jwlee64, laxels, morganmcg1, nickpenaranda, scottire, shawnlewis, staceysv, tssweeney, vanpelt, vwrj, wandbmachine | ||
allowlist: actions-user, altay, andrewtruong, bdytx5, dannygoldstein, davidwallacejackson, jamie-rasmussen, jlzhao27, jo-fang, jwlee64, laxels, morganmcg1, nickpenaranda, scottire, shawnlewis, staceysv, tssweeney, vanpelt, vwrj, wandbmachine, [email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,45 +12,66 @@ on: | |
push: | ||
|
||
jobs: | ||
check-which-tests-to-run: | ||
uses: ./.github/workflows/check-which-tests-to-run.yaml | ||
|
||
# ==== Query Service Jobs ==== | ||
build-container-query-service: | ||
name: Build Legacy (Query Service) test container | ||
timeout-minutes: 30 | ||
runs-on: [self-hosted, builder] | ||
# runs-on: ubuntu-latest | ||
outputs: | ||
build_needed: ${{ steps.build_check.outputs.build_needed }} | ||
env: | ||
REGISTRY: us-east4-docker.pkg.dev/weave-support-367421/weave-images | ||
needs: check-which-tests-to-run | ||
|
||
# if: github.ref == 'refs/heads/master' || needs.check-which-tests-to-run.outputs.weave_query_tests | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 2 | ||
|
||
- name: Check if build is needed | ||
id: build_check | ||
run: | | ||
if [[ "${{ github.ref }}" == "refs/heads/master" || "${{ needs.check-which-tests-to-run.outputs.weave_query_tests }}" == "true" ]]; then | ||
echo "Build is needed" | ||
echo "build_needed=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "Build is not needed" | ||
echo "build_needed=false" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Login to Docker Hub | ||
if: steps.build_check.outputs.build_needed == 'true' | ||
uses: docker/login-action@v2 | ||
with: | ||
registry: us-east4-docker.pkg.dev | ||
username: _json_key | ||
password: ${{ secrets.gcp_sa_key }} | ||
|
||
# this script is hardcoded to build for linux/amd64 | ||
- name: Prune docker cache | ||
if: steps.build_check.outputs.build_needed == 'true' | ||
run: docker system prune -f | ||
- name: Build legacy (query sevice) unit test image | ||
|
||
- name: Build legacy (query service) unit test image | ||
if: steps.build_check.outputs.build_needed == 'true' | ||
run: python3 weave/docker/docker_build.py build_deps weave-test-python-query-service builder . weave_query/Dockerfile.ci.test | ||
|
||
test-query-service: | ||
name: Legacy (Query Service) Python unit tests | ||
timeout-minutes: 15 # do not raise! running longer than this indicates an issue with the tests. fix there. | ||
needs: | ||
- check-which-tests-to-run | ||
- build-container-query-service | ||
# runs-on: [self-hosted, gke-runner] | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
job_num: [0, 1] | ||
# runs-on: ubuntu-latest | ||
container: us-east4-docker.pkg.dev/weave-support-367421/weave-images/weave-test-python-query-service:${{ github.sha }} | ||
container: ${{ needs.build-container-query-service.outputs.build_needed == 'true' && format('us-east4-docker.pkg.dev/weave-support-367421/weave-images/weave-test-python-query-service:{0}', github.sha) || null }} | ||
services: | ||
wandbservice: | ||
image: us-central1-docker.pkg.dev/wandb-production/images/local-testcontainer:master | ||
|
@@ -65,14 +86,25 @@ jobs: | |
- '8083:8083' | ||
- '9015:9015' | ||
options: --health-cmd "curl --fail http://localhost:8080/healthz || exit 1" --health-interval=5s --health-timeout=3s | ||
outputs: | ||
tests_should_run: ${{ steps.test_check.outputs.tests_should_run }} | ||
steps: | ||
# - uses: datadog/[email protected] | ||
# with: | ||
# api_key: ${{ secrets.DD_API_KEY }} | ||
- uses: actions/checkout@v2 | ||
- name: Check if tests should run | ||
id: test_check | ||
run: | | ||
if [[ "${{ github.ref }}" == "refs/heads/master" || "${{ needs.check-which-tests-to-run.outputs.weave_query_tests }}" == "true" ]]; then | ||
echo "Tests should run" | ||
echo "tests_should_run=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "Tests should not run" | ||
echo "tests_should_run=false" >> $GITHUB_OUTPUT | ||
fi | ||
- name: Verify wandb server is running | ||
if: steps.test_check.outputs.tests_should_run == 'true' | ||
run: curl -s http://wandbservice:8080/healthz | ||
- name: Run Legacy (Query Service) Python Unit Tests | ||
if: steps.test_check.outputs.tests_should_run == 'true' | ||
env: | ||
DD_SERVICE: weave-python | ||
DD_ENV: ci | ||
|
@@ -108,16 +140,30 @@ jobs: | |
weavejs-lint-compile: | ||
name: WeaveJS Lint and Compile | ||
runs-on: ubuntu-latest | ||
# runs-on: [self-hosted, gke-runner] | ||
needs: | ||
- check-which-tests-to-run | ||
steps: | ||
- uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Check if lint and compile should run | ||
id: check_run | ||
run: | | ||
if [[ "${{ github.ref }}" == "refs/heads/master" || "${{ needs.check-which-tests-to-run.outputs.weave_js_tests }}" == "true" ]]; then | ||
echo "Lint and compile should run" | ||
echo "should_lint_and_compile=true" >> $GITHUB_OUTPUT | ||
else | ||
echo "Lint and compile should not run" | ||
echo "should_lint_and_compile=false" >> $GITHUB_OUTPUT | ||
fi | ||
- uses: actions/setup-node@v1 | ||
if: steps.check_run.outputs.should_lint_and_compile == 'true' | ||
with: | ||
node-version: '18.x' | ||
- run: | | ||
- name: Run WeaveJS Lint and Compile | ||
if: steps.check_run.outputs.should_lint_and_compile == 'true' | ||
run: | | ||
set -e | ||
cd weave-js | ||
yarn install --frozen-lockfile | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.