Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dualmark Verify Action

Verify AEO conformance of any URL against the AEO Specification v1.0 in one GitHub Actions step.

Usage

name: AEO Conformance

on:
  pull_request:
  push:
    branches: [main]

jobs:
  aeo:
    runs-on: ubuntu-latest
    permissions:
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
      - uses: dodopayments/dualmark-verify-action@v1
        with:
          url: https://staging.example.com/blog/your-post
          level: standard

Inputs

Input Required Default Description
url URL to verify for AEO conformance
level standard Minimum level: basic, standard, or advanced
fail-on-regression false Fail if score drops below previous run
comment-on-pr false Post a sticky PR comment with results
artifact-name aeo-report Artifact name for the uploaded report (use unique names for multi-URL workflows)

Outputs

Output Description Example
score Numeric score achieved 105
max Maximum possible score 125
level Conformance level standard

Conformance Levels

Level Required Score Checks
Basic ≥ 60% Markdown twin reachable, Content-Type, X-Markdown-Tokens, X-Robots-Tag: noindex, Vary: Accept, non-empty body
Standard ≥ 80% All Basic + HTML rel=alternate, Accept-header negotiation, 406 for unacceptable Accept
Advanced ≥ 95% All Standard + AI agent UA detection, X-AEO-Version, nosniff

Examples

Basic check

- uses: dodopayments/dualmark-verify-action@v1
  with:
    url: https://example.com/blog/hello
    level: basic

With PR comment

- uses: dodopayments/dualmark-verify-action@v1
  with:
    url: https://staging.example.com
    level: standard
    comment-on-pr: true

With regression detection

- uses: dodopayments/dualmark-verify-action@v1
  with:
    url: https://staging.example.com
    level: standard
    fail-on-regression: true
    comment-on-pr: true

Regression Detection

The action downloads the previous run's aeo-report artifact and compares scores.

  • First run: no previous artifact exists — skips regression check
  • Re-run: if current score < previous score — fails with ::error::
  • The artifact is then overwritten with the new result for the next run

Artifacts

The action uploads aeo.json as a build artifact (aeo-report). Download in downstream jobs:

- uses: actions/download-artifact@v4
  with:
    name: aeo-report
- run: node -e "
    const r = JSON.parse(require('fs').readFileSync('aeo.json','utf8'));
    console.log('Score:', r.score, '/', r.max, 'Level:', r.level);
  "

Requirements

  • pull-requests: write — required for comment-on-pr: true
  • actions: read — required for artifact download (regression detection)
  • actions: write — required for artifact upload

Links

About

No description, website, or topics provided.

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors