Skip to content

Commit 96bb588

Browse files
committed
Moving htmlproof and build validations to GitHub actions
1 parent c49e351 commit 96bb588

7 files changed

Lines changed: 49 additions & 46 deletions

File tree

.circleci/config.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

.github/copilot-instructions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,4 @@ If this file conflicts with `AGENTS.md`, prefer `AGENTS.md`.
2020

2121
When the local environment supports it, use the build and validation commands documented in `AGENTS.md`.
2222

23-
GitHub Pages production is configured to deploy from `main`. CircleCI handles build/htmlproofer validation. GitHub Actions handles the version/tag release flow. Do not change CI, deployment, or versioning without maintainer approval.
23+
GitHub Pages production is configured to deploy from `main`. GitHub Actions handles conference data validation, the Jekyll build, htmlproofer, and the version/tag release flow. Do not change CI, deployment, or versioning without maintainer approval.

.github/workflows/ci.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
validate:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Ruby
20+
uses: ruby/setup-ruby@v1
21+
with:
22+
ruby-version: '3.2'
23+
bundler-cache: true
24+
25+
- name: Validate conference data
26+
run: ruby tools/validate_data.rb
27+
28+
- name: Build with Jekyll
29+
run: bundle exec jekyll build --verbose
30+
31+
- name: Validate generated site
32+
run: bundle exec htmlproofer ./_site --disable-external --no-enforce-https --allow-missing-href --ignore-urls '/^\/\//'

AGENTS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,18 @@ TestingConferences.org is a community-maintained Jekyll site for software testin
1717

1818
## CI And Deployment
1919

20-
This repository currently uses GitHub Pages, GitHub Actions, and CircleCI.
20+
This repository uses GitHub Pages and GitHub Actions.
2121

2222
- GitHub Pages production is configured to deploy from the `main` branch.
23-
- GitHub Actions is used for the site release flow that appends/increments the site version number and creates tags.
24-
- CircleCI is responsible for build and htmlproofer validation.
23+
- GitHub Actions validates pull requests and pushes to `main` by running the conference data validator, Jekyll build, and htmlproofer.
24+
- GitHub Actions also runs the site release flow that appends/increments the site version number and creates tags.
2525
- `.github/workflows/deploy.yml` currently includes Pages artifact upload/deploy steps even though repository settings deploy Pages from `main`; treat changes to this workflow as deployment/versioning work that needs maintainer approval.
2626

2727
Relevant files:
2828

2929
- `.github/workflows/deploy.yml`
30+
- `.github/workflows/ci.yml`
3031
- `.github/workflows/auto-assign.yml`
31-
- `.circleci/config.yml`
3232

3333
## Safe Edit Zones
3434

Agent_Readiness.md

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,30 +10,28 @@ The main remaining weakness is that most guardrails are still documented in pros
1010

1111
**AI-assisted edits:** 8/10
1212

13-
**Autonomous agent workflows:** 6/10
13+
**Autonomous agent workflows:** 7/10
1414

15-
The project has a simple Jekyll structure, clear conference data files, a root agent instruction file, a conference data validator, documented CI/deploy ownership, and useful contributor documentation. Autonomous workflows still need CI integration for the validator and better documentation for maintenance scripts.
15+
The project has a simple Jekyll structure, clear conference data files, a root agent instruction file, a conference data validator enforced in CI, documented CI/deploy ownership, and useful contributor documentation. Autonomous workflows still need better documentation for maintenance scripts and clearer formatting automation.
1616

1717
## What Already Helps Agents
1818

1919
- `AGENTS.md` is now the strongest agent-facing file. It explains the project map, safe edit zones, conference data rules, source-of-truth policy, local commands, validation checklist, common tasks, and changes that need maintainer approval.
2020
- `README.md` explains the project, `_data` files, ordering rules, required conference fields, eligibility, and deployment versioning.
21-
- `README.md` now documents the current deployment split: GitHub Pages deploys from `main`, GitHub Actions handles the version/tag release flow, and CircleCI handles build/htmlproofer validation.
21+
- `README.md` now documents the current deployment model: GitHub Pages deploys from `main`, while GitHub Actions handles conference data validation, the Jekyll build, htmlproofer, and the version/tag release flow.
2222
- `CONTRIBUTING.md` gives contributor workflows for adding conferences, reporting issues, and page/navigation changes.
2323
- `SETUP.md` provides Docker setup instructions.
2424
- `.github/copilot-instructions.md` now delegates repo-wide policy to `AGENTS.md` and keeps only Copilot-specific reminders.
2525
- `.github/pull_request_template.md` provides a checklist for conference PRs.
2626
- `CODEOWNERS` assigns review ownership.
2727
- `Gemfile`, `docker-compose.yml`, and `devops/setup.sh` make it clear this is a Ruby/Jekyll/GitHub Pages site.
2828
- `tools/validate_data.rb` provides a machine-checkable conference data validator for the YAML data files.
29-
- `.circleci/config.yml` documents the build and htmlproofer validation commands used by CircleCI.
29+
- `.github/workflows/ci.yml` validates pull requests and pushes to `main` with the conference data validator, Jekyll build, and htmlproofer.
3030
- `ROADMAP.md` now tracks the remaining agent-readiness work, quality metrics work, validation work, and developer-experience improvements.
3131
- `tools/` contains maintenance scripts, especially `tools/identify_updates.rb`, though these scripts are not yet documented.
3232

3333
## Main Gaps
3434

35-
- The conference data validator exists, but it is not yet wired into CI.
36-
- There is no obvious pull request validation workflow owned by GitHub Actions. CircleCI performs build validation, but the validator is not yet part of that validation.
3735
- The CI/deploy story still has one confusing implementation detail: `.github/workflows/deploy.yml` includes Pages artifact upload/deploy steps even though repository settings deploy Pages from the `main` branch.
3836
- Formatting guidance is partial. The repo has `.prettierrc`, but there is no `package.json`, documented Prettier command, ESLint config, `.editorconfig`, or Ruby lint config.
3937
- Issue templates now exist with site-version fields, but there is not yet any automation that aggregates issues by version.
@@ -47,19 +45,13 @@ The project has a simple Jekyll structure, clear conference data files, a root a
4745
1. Simplify or rename `.github/workflows/deploy.yml` so the workflow implementation matches the confirmed deployment model.
4846
- Keep the version increment and tag behavior if still wanted.
4947
- Remove or explain the Pages artifact/deploy steps if production deploys from `main`.
50-
2. Add the conference data validator to PR validation.
51-
- `ruby tools/validate_data.rb`.
52-
3. Add or document PR validation expectations.
53-
- CircleCI build.
54-
- Jekyll build.
55-
- htmlproofer.
56-
4. Document the `tools/` scripts or remove/replace the ones that are no longer part of the workflow.
57-
5. Add documented formatting commands for Prettier, and either add ESLint intentionally or stop referring to ESLint as expected tooling.
58-
6. Add automation or reporting that connects issue-template site-version data to the quality ledger.
59-
7. Make local verification docs clearer for both Docker and non-Docker setups.
48+
2. Document the `tools/` scripts or remove/replace the ones that are no longer part of the workflow.
49+
3. Add documented formatting commands for Prettier, and either add ESLint intentionally or stop referring to ESLint as expected tooling.
50+
4. Add automation or reporting that connects issue-template site-version data to the quality ledger.
51+
5. Make local verification docs clearer for both Docker and non-Docker setups.
6052

6153
## Current Bottom Line
6254

6355
The repo is now ready for supervised AI agents to make narrow, reviewable changes such as adding, updating, moving, or closing conference entries.
6456

65-
It is not yet ready for broad autonomous maintenance because the most important rules are still human-readable instructions rather than executable checks.
57+
It is not yet ready for broad autonomous maintenance because several maintenance workflows and formatting expectations remain human-readable guidance rather than executable checks.

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# [Testing Conferences](https://testingconferences.org) [![CircleCI](https://circleci.com/gh/TestingConferences/testingconferences.github.io.svg?style=svg)](https://circleci.com/gh/TestingConferences/testingconferences.github.io) [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT)
1+
# [Testing Conferences](https://testingconferences.org) [![CI](https://github.com/TestingConferences/testingconferences.github.io/actions/workflows/ci.yml/badge.svg)](https://github.com/TestingConferences/testingconferences.github.io/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-brightgreen.svg)](https://opensource.org/licenses/MIT)
22

33
> [!IMPORTANT]
44
> We've switch TO `main` and away from `master` branch
@@ -81,8 +81,7 @@ The site uses an automated versioning system to track each deployment:
8181
- **Git Tags**: Each deployment is tagged in Git with the format `vXXXX` (e.g., `v1501`)
8282
- **Footer Display**: The current version is displayed in the site footer as `rev.XXXX.`
8383
- **GitHub Pages**: Production is configured to deploy from the `main` branch.
84-
- **GitHub Actions**: Used for the site release flow that appends/increments the version number and creates tags.
85-
- **CircleCI**: Handles build and htmlproofer validation.
84+
- **GitHub Actions**: Validates conference data, builds the site, runs htmlproofer, and manages the version/tag release flow.
8685

8786
This versioning system enables:
8887
- Tracking which version of the site is deployed

ROADMAP.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Continue to use TCorg to experiment and learn. I want to track quality metrics a
1717
- [ ] **Build Analytics**: Track and log build times to monitor the impact of site growth on CI/CD performance.
1818
- [x] **Bug Attribution**: Update Issue Templates to include a "Site Version" field to track bug counts relative to specific releases.
1919
- [x] **Conference Data Validator**: Add a machine-checkable validator for `_data/current.yml`, `_data/past.yml`, and `_data/closed.yml` covering required fields, allowed fields, duplicate names, chronological ordering, URL tracking parameters, and `twitter` formatting.
20-
- [ ] **PR Validation**: Add a pull request workflow that runs the Jekyll build and conference data validator before merge.
20+
- [x] **PR Validation**: Add a pull request workflow that runs the conference data validator, Jekyll build, and htmlproofer before merge.
2121

2222
## Phase 3: Developer Experience (DX) & AI Workflows
2323
*Goal: Streamline contributions using automation and AI context.*

0 commit comments

Comments
 (0)