WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit 95309e8

Browse files
update with upstream's testdriver/onboarding-test branch; also add self hosting
1 parent f2234f7 commit 95309e8

31 files changed

+1070
-8
lines changed

.github/workflows/self-host.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: TestDriver - Self Hosted
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: read
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
test_file:
16+
- testdriver/installation/programmatic_installation_existing_user.yaml
17+
- testdriver/installation/desktop_app_installation_new_user_exe.yaml
18+
- testdriver/installation/desktop_app_installation_new_user_msix.yaml
19+
- testdriver/installation/desktop_app_installation_new_user_winget.yaml
20+
21+
steps:
22+
- name: Checkout the repo to access the test files
23+
uses: actions/checkout@v4
24+
25+
- name: Setup AWS Instance
26+
id: aws-setup
27+
run: |
28+
OUTPUT=$(./setup/aws/spawn-runner.sh | tee /dev/stderr) # Capture and display output
29+
echo "$OUTPUT"
30+
PUBLIC_IP=$(echo "$OUTPUT" | grep "PUBLIC_IP=" | cut -d'=' -f2)
31+
INSTANCE_ID=$(echo "$OUTPUT" | grep "INSTANCE_ID=" | cut -d'=' -f2)
32+
AWS_REGION=$(echo "$OUTPUT" | grep "AWS_REGION=" | cut -d'=' -f2)
33+
echo "public-ip=$PUBLIC_IP" >> $GITHUB_OUTPUT
34+
echo "instance-id=$INSTANCE_ID" >> $GITHUB_OUTPUT
35+
echo "aws-region=$AWS_REGION" >> $GITHUB_OUTPUT
36+
env:
37+
FORCE_COLOR: 3
38+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
39+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
40+
AWS_REGION: us-east-2
41+
AWS_LAUNCH_TEMPLATE_ID: lt-00d02f31cfc602f27
42+
AMI_ID: ami-055cd47506a2f39bb
43+
RESOLUTION_WIDTH: 1920
44+
RESOLUTION_HEIGHT: 1080
45+
- name: Run TestDriver
46+
run: npx testdriverai@latest run ${{ matrix.test_file }} --ip="${{ steps.aws-setup.outputs.public-ip }}"
47+
env:
48+
TD_API_KEY: ${{ secrets.TD_API_KEY }}
49+
TD_WEBSITE: https://testdriver-sandbox.vercel.app
50+
TD_THIS_FILE: ${{ matrix.test_file }}
51+
52+
- name: Upload TestDriver AI CLI logs
53+
if: always()
54+
uses: actions/upload-artifact@v4
55+
with:
56+
name: testdriverai-cli-logs-${{ matrix.test_file }}
57+
path: /tmp/testdriverai-cli-*.log
58+
if-no-files-found: warn
59+
retention-days: 30
60+
61+
- name: Upload test results as artifact
62+
if: always()
63+
uses: actions/upload-artifact@v4
64+
with:
65+
name: test-results-${{ matrix.test_file }}
66+
path: out.xml
67+
retention-days: 30
68+
69+
- name: Shutdown AWS Instance
70+
if: always()
71+
run: aws ec2 terminate-instances --region "$AWS_REGION" --instance-ids "$INSTANCE_ID"
72+
env:
73+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
74+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
75+
AWS_REGION: ${{ steps.aws-setup.outputs.aws-region }}
76+
INSTANCE_ID: ${{ steps.aws-setup.outputs.instance-id }}

.github/workflows/testdriver_v6.yml

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,26 @@
1-
name: TestDriver v6
1+
name: TestDriver - Installation Tests
22

33
on:
44
workflow_dispatch:
55

6+
permissions:
7+
contents: read
8+
69
jobs:
710
test-workflow:
811
runs-on: ubuntu-latest
912
strategy:
13+
fail-fast: false
1014
matrix:
1115
test_file:
12-
- testdriver/_focus.yaml
13-
- testdriver/install_pos/install_pos_exe.yaml
16+
- testdriver/onboarding/onboarding.yaml
1417
steps:
1518
- name: Checkout the repo to access the test files
1619
uses: actions/checkout@v4
1720

18-
- name: Run test
21+
- name: Run TestDriverAI
1922
run: |
20-
npx testdriverai@beta run ${{ matrix.test_file }} --sandbox-instance=c5.2xlarge
23+
npx testdriverai@latest run ${{ matrix.test_file }} --sandbox-instance=c5.2xlarge
2124
env:
2225
FORCE_COLOR: 3
2326
TD_API_KEY: ${{ secrets.TESTDRIVER_API_KEY }}

testdriver/lifecycle/postrun.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ steps:
55
commands:
66
- command: exec
77
lang: pwsh
8-
code: dashcam -t '${TD_THIS_FILE}' -p
8+
code: dashcam -t '${TD_THIS_FILE}' -p

testdriver/lifecycle/prerun.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@ steps:
88
code: dashcam track --name=TestDriver --type=application --pattern="C:\Users\testdriver\Documents\testdriver.log"
99
- command: exec
1010
lang: pwsh
11-
code: dashcam start
11+
code: dashcam start

testdriver/lifecycle/provision.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: 6.0.11
22
session: 67f00511acbd9ccac373edf7
33
steps:
4-
- prompt: install pfd
4+
- prompt: Install Desktop App
55
commands:
66
- command: exec
77
lang: pwsh
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
version: 6.0.11
2+
steps:
3+
- prompt:
4+
Continue following orders to finish the LTM onboarding flow
5+
commands:
6+
- command: wait
7+
timeout: 10000
8+
- command: hover-text
9+
text: I'm Ready
10+
description: A dark button in the bottom left named 'I'm Ready'
11+
action: click
12+
- command: wait
13+
timeout: 7000
14+
- command: hover-image
15+
description: click on the Source Control button (settings icon with dots) selected with blue shadow, to the right of the 'LTM-2' button
16+
action: click
17+
18+
- prompt: Open Power Menu via Home Icon (hold Ctrl then click Enter), click Continue, then go to Pieces Copilot and ensure it opens. Click GPT-4.1, then Cloud, press Escape, and select the prompt; 'Generate a stand-up styled summary of my recent work'. Assert that Copilot responds after prompt is sent.
19+
commands:
20+
- command: press-keys
21+
keys:
22+
- ctrlleft
23+
- enter
24+
- command: assert
25+
expect: A pop-up menu is displayed
26+
- command: hover-text
27+
text: Continue
28+
description: A dark button named 'Continue'
29+
action: click
30+
- command: hover-text
31+
text: Pieces Copilot
32+
description: click on the text 'Pieces Copilot' in the horizontal menu bar
33+
action: click
34+
- command: wait
35+
timeout: 5000
36+
- command: assert
37+
expect: A text 'New chat' is displayed
38+
- command: hover-text
39+
text: GPT-4.1
40+
description: A button in the bottom left that has 'OpenAI/Chatgpt' logo named 'GPT-4.1'
41+
action: click
42+
- command: wait
43+
timeout: 5000
44+
- command: hover-text
45+
text: Cloud
46+
description: a button named 'Cloud' to access Cloud LLMs
47+
action: click
48+
- command: wait
49+
timeout: 5000
50+
- command: press-keys
51+
keys: [escape]
52+
- command: hover-text
53+
text: Generate a stand-up styled summary of my recent work.
54+
description: A suggested prompt
55+
action: click
56+
- command: wait
57+
timeout: 75000
58+
- command: assert
59+
expect: Copilot Responds to the message sent
60+
- command: press-keys
61+
keys:
62+
- ctrlleft
63+
- enter
64+
- command: assert
65+
expect: A pop-up menu is displayed
66+
- command: hover-text
67+
text: Pieces Drive
68+
description: click on the text 'Pieces Drive' in the horizontal menu bar
69+
action: click
70+
- command: wait
71+
timeout: 5000
72+
- command: assert
73+
expect: A text 'Saved Materials' is displayed

0 commit comments

Comments
 (0)