Skip to content

from-static/integration-tests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

integration-tests

Integration tests for from-static/actions. Runs the static workflow against a set of known-good fixtures on a daily schedule to detect compatibility breakage from changes to actions, generators, or the broader package ecosystem.

How It Works

The canary workflow calls from-static/actions/.github/workflows/static.yml once per fixture, with deploy_to_github_pages: false. A successful run means the full build pipeline — checkout, static.json parsing, generator resolution, npm ci, and npm run build — completed without error.

Failures automatically open an issue in this repository via the notify workflow.

Fixtures

Each fixture is a minimal static.json that exercises a specific generator. They live under fixtures/ and are passed to the static workflow via the static_json_path input.

Fixture Generator
fixtures/globus/static-search-portal/ @globus/static-search-portal
fixtures/globus/static-data-portal/ @globus/static-data-portal

Schedule

The canary runs daily at 06:00 UTC. It can also be triggered manually via workflow_dispatch, which accepts an optional actions_ref input to test against a specific ref of from-static/actions (e.g. a branch or SHA under review).

gh workflow run canary.yml -f actions_ref=my-branch

Triggering from from-static/actions

To run the canary as part of a release or PR validation in from-static/actions, dispatch it via repository_dispatch:

- name: Trigger Canary
  uses: actions/github-script@v8
  with:
    github-token: ${{ secrets.CANARY_DISPATCH_TOKEN }}
    script: |
      await github.rest.repos.createDispatchEvent({
        owner: 'from-static',
        repo: 'integration-tests',
        event_type: 'actions-updated',
        client_payload: { version: 'main' }
      });

The CANARY_DISPATCH_TOKEN secret must be a token with repo scope on from-static/integration-tests, stored in from-static/actions' repository secrets.

Adding a fixture

  1. Create a directory under fixtures/ named after the generator (e.g. fixtures/org/generator).
  2. Add a static.json that targets the generator with a minimal but valid configuration.
  3. Add the fixture to .github/workflows/canary.yml.

Fixture configs should use stable, publicly accessible resources (e.g. a Globus search index that will remain available) so that failures indicate toolchain breakage, not fixture rot.

About

Integration tests for the @from-static ecosystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors