Skip to content

Commit af4a4b4

Browse files
authored
feat: Run keyboard plugin tests in CI (#9135)
## The basics - [x] I [validated my changes](https://developers.google.com/blockly/guides/contribute/core#making_and_verifying_a_change) ## The details ### Resolves N/A (no tracking issue) ### Proposed Changes Introduces a GitHub actions CI workflow to run the webdriver IO tests from https://github.com/google/blockly-keyboard-experimentation as part of core Blockly's CI. ### Reason for Changes Since development on the plugin is going to continue for many months yet, this ensures that behavioral changes in core Blockly don't inadvertently break the plugin. Note that this shouldn't be made a blocking workflow since there may be cases where it's necessary to break the plugin before a change to the plugin itself can be introduced to then fix it (as this has happened many times in the past). However, the CI check is forced signal to both author and reviewer as to whether their change affects the plugin without having to manually check the test suite. ### Test Coverage N/A -- Verifying that the CI workflow runs is sufficient. ### Documentation No documentation changes are needed here. ### Additional Information Nothing.
1 parent 4977b4b commit af4a4b4

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Workflow for running the keyboard navigation plugin's automated tests.
2+
3+
name: Keyboard Navigation Automated Tests
4+
5+
on:
6+
workflow_dispatch:
7+
pull_request:
8+
push:
9+
branches:
10+
- develop
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
webdriverio_tests:
17+
name: WebdriverIO tests
18+
timeout-minutes: 10
19+
runs-on: ${{ matrix.os }}
20+
21+
strategy:
22+
fail-fast: false
23+
matrix:
24+
os: [ubuntu-latest, macos-latest]
25+
26+
steps:
27+
- name: Checkout core Blockly
28+
uses: actions/checkout@v4
29+
with:
30+
path: core-blockly
31+
32+
- name: Checkout keyboard navigation plugin
33+
uses: actions/checkout@v4
34+
with:
35+
repository: 'google/blockly-keyboard-experimentation'
36+
ref: 'main'
37+
path: blockly-keyboard-experimentation
38+
39+
- name: Use Node.js 20.x
40+
uses: actions/setup-node@v4
41+
with:
42+
node-version: 20.x
43+
44+
- name: NPM install
45+
run: |
46+
cd core-blockly
47+
npm install
48+
cd ..
49+
cd blockly-keyboard-experimentation
50+
npm install
51+
cd ..
52+
53+
- name: Link latest core develop with plugin
54+
run: |
55+
cd core-blockly
56+
npm run package
57+
cd dist
58+
npm link
59+
cd ../../blockly-keyboard-experimentation
60+
npm link blockly
61+
cd ..
62+
63+
- name: Run keyboard navigation plugin tests
64+
run: |
65+
cd blockly-keyboard-experimentation
66+
npm run test

0 commit comments

Comments
 (0)