Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
5a0ec64
chore: refactor http package to memory and add new test files
ziflex Apr 8, 2026
15a2c81
refactor: clean up driver handling and improve XPath queries
ziflex Apr 9, 2026
d44b8c8
refactor: normalize loopback addresses to localhost in CDP driver and…
ziflex Apr 11, 2026
c058054
feat: implement DOM event subscription and dispatch functionality
ziflex Apr 11, 2026
2792348
feat: extend DOM event handling with subscription options, event dele…
ziflex Apr 11, 2026
a399ba8
refactor: update tests and DOCUMENT function to use CDP driver config…
ziflex Apr 13, 2026
1c5ba1e
fix: adjust timeout calculation in document context to use milliseconds
ziflex Apr 13, 2026
615ed4b
refactor: simplify argument validation and parsing logic in `parse.go…
ziflex Apr 13, 2026
139370d
refactor: enhance cookie management by refining argument parsing and …
ziflex Apr 13, 2026
811234e
chore: update MontFerret/ferret dependency to v2.0.0-alpha.10 and cle…
ziflex Apr 13, 2026
7cbd9c3
refactor: improve argument casting logic in `select.go` by using `run…
ziflex Apr 13, 2026
868d6d7
docs: add `AGENTS.md` as the canonical guide for repository contributors
ziflex Apr 13, 2026
4567a98
fix: correct variable reference in option selection logic in `select.go`
ziflex Apr 13, 2026
0975095
chore: update MontFerret/ferret dependency to v2.0.0-alpha.11 across …
ziflex Apr 13, 2026
ba03916
refactor: streamline attribute setting logic by replacing type checks…
ziflex Apr 13, 2026
a49f95a
refactor: update `Frames` function for improved argument casting and …
ziflex Apr 14, 2026
8f72416
feat: implement session management for CDP targets with navigation ev…
ziflex Apr 15, 2026
f1a628e
feat: enhance iframe handling by adding `WAIT_ELEMENT` support and im…
ziflex Apr 17, 2026
aded577
refactor: remove unsupported methods from memory backend and update r…
ziflex Apr 18, 2026
a913c5b
refactor: replace `drivers` capability resolvers with root-scoped fun…
ziflex Apr 19, 2026
99b9ddb
refactor: add root-scoped functions for element capability resolution…
ziflex Apr 19, 2026
ae450f1
feat: add capability testing matrix and extend query contract tests
ziflex Apr 20, 2026
7dfc2dd
refactor: replace root reload logic with main frame loading and enhan…
ziflex Apr 21, 2026
75b6025
chore: update react-bootstrap version to 2.10.10 for improved compati…
ziflex Apr 23, 2026
8b4d5b7
feat: implement error handling for stream closure and add tests for m…
ziflex Apr 23, 2026
0eef5af
feat: add select interaction capability and enhance test coverage for…
ziflex Apr 23, 2026
0931161
feat: add article fixture and integration tests for article extraction
ziflex Apr 23, 2026
69b344e
feat: add integration workflow and update unit test naming in build c…
ziflex Apr 23, 2026
a882371
Potential fix for pull request finding 'CodeQL / Workflow does not co…
ziflex Apr 23, 2026
b31c571
feat: introduce utility packages for logging and query parsing, and r…
ziflex Apr 23, 2026
9e1ecb1
Merge remote-tracking branch 'origin/chore/integration-tests' into ch…
ziflex Apr 23, 2026
13a76b8
feat: implement frame management and document interaction methods
ziflex Apr 24, 2026
31ad97c
Update tests/data/pages/dynamic/utils/qs.js
ziflex Apr 24, 2026
3ada6a0
Update tests/data/pages/dynamic/utils/qs.js
ziflex Apr 24, 2026
55df74e
Update modules/web/html/drivers/cdp/input/manager_scroll.go
ziflex Apr 24, 2026
0883f02
refactor: rename access package to data and update references
ziflex Apr 24, 2026
a2475cb
refactor: move cssx package to internal and update references
ziflex Apr 24, 2026
d4c8d34
refactor: update AttributeSet to use root attribute target and improv…
ziflex Apr 24, 2026
6159eae
chore: update integration.yml to install Ferret Lab using Go instead …
ziflex Apr 25, 2026
7721a3b
refactor: replace fmt.Errorf with runtime.Error for improved error ha…
ziflex Apr 25, 2026
2015576
chore: update integration.yml and local files to use vendored assets …
ziflex Apr 26, 2026
5cc1309
chore: update Ferret Lab version in integration.yml to v2.0.0-alpha.8
ziflex Apr 29, 2026
61ce94c
chore: update Chromium image in integration.yml to use latest tag
ziflex Apr 29, 2026
80fbcc2
chore: update Chromium image in integration.yml to use latest tag
ziflex Apr 29, 2026
a0d6d55
refactor: enhance error handling in event stream and client message r…
ziflex Apr 30, 2026
3889222
chore: update integration.yml to configure host resolution for integr…
ziflex Apr 30, 2026
7d561c3
refactor: improve keyboard event handling and add tests for key events
ziflex Apr 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
8 changes: 4 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,29 +55,29 @@
run: make build ${{ matrix.module }}

test:
name: Test (${{ matrix.module }})
name: Unit Test (${{ matrix.module }})
runs-on: ubuntu-latest
needs: discover-modules

strategy:
fail-fast: false
matrix:
module: ${{ fromJson(needs.discover-modules.outputs.modules) }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.work
cache: true

- name: Test module
run: make test ${{ matrix.module }}
- name: Unit test module
run: make test-unit ${{ matrix.module }}

lint:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
name: Lint (${{ matrix.module }})
runs-on: ubuntu-latest
needs: discover-modules
Expand All @@ -101,4 +101,4 @@
run: make install-tools

- name: Lint module
run: make lint ${{ matrix.module }}
run: make lint ${{ matrix.module }}
87 changes: 87 additions & 0 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
name: Integration

on:
push:
branches:
- main
- master
pull_request:

permissions:
contents: read

jobs:
discover-integration-modules:
name: Discover integration modules
runs-on: ubuntu-latest
outputs:
modules: ${{ steps.discover.outputs.modules }}

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Discover integration modules
id: discover
shell: bash
run: |
modules_json="$(
make modules \
| while IFS= read -r module; do
if [ -d "tests/modules/$module" ]; then
printf '%s\n' "$module"
fi
done \
| jq -R . \
| jq -s -c .
)"

echo "modules=$modules_json" >> "$GITHUB_OUTPUT"
echo "Discovered integration modules: $modules_json"

integration:
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed
name: Integration (${{ matrix.module }})
runs-on: ubuntu-latest
needs: discover-integration-modules

strategy:
fail-fast: false
matrix:
module: ${{ fromJson(needs.discover-integration-modules.outputs.modules) }}

services:
chromium:
image: ghcr.io/montferret/chromium:latest
options: --add-host=host.docker.internal:host-gateway
ports:
- 9222:9222

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: go.work
cache: true

- name: Install Ferret Lab
run: |
GOBIN="$GITHUB_WORKSPACE" go install github.com/MontFerret/lab/v2@v2.0.0-alpha.8
"$GITHUB_WORKSPACE/lab" version

- name: Add Ferret Lab to PATH
run: echo "$GITHUB_WORKSPACE" >> "$GITHUB_PATH"

- name: Resolve Lab static host on runner
run: echo "127.0.0.1 host.docker.internal" | sudo tee -a /etc/hosts

- name: Build runtime
run: make build ${{ matrix.module }}

- name: Run integration tests
env:
LAB_SERVE_HOST: host.docker.internal
LAB_SERVE_BIND: 0.0.0.0
run: make test-integration ${{ matrix.module }}
Comment thread
github-advanced-security[bot] marked this conversation as resolved.
Fixed
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ fabric.properties

# Dependency directories (remove the comment below to include it)
vendor/
!tests/data/pages/dynamic/vendor/
!tests/data/pages/dynamic/vendor/**

# Go workspace file
#go.work
Expand Down Expand Up @@ -120,4 +122,5 @@ Icon
Network Trash Folder
Temporary Items
.apdisk

bin/
.ferret-browser/
Loading
Loading