Add jekyll-build composite action and reusable deploy/health-check workflows#2
Add jekyll-build composite action and reusable deploy/health-check workflows#2
Conversation
…fig, and README Agent-Logs-Url: https://github.com/OpenNews/opennews-actions/sessions/0e6b0f0a-566e-4c48-a587-ceec47074db6 Co-authored-by: tiffehr <60173+tiffehr@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Bootstraps opennews-actions as a shared GitHub Actions automation repository for OpenNews Jekyll/static sites by adding a composite build action, reusable deploy/health-check workflows, and release/dependency automation.
Changes:
- Added
jekyll-buildcomposite action to standardize checkout → Ruby setup → validate/check/build/test. - Added reusable
jekyll-deployandjekyll-health-checkworkflows for consumers to call viaworkflow_call. - Added release automation (
release.yml+.github/release.yml) and Dependabot configuration for GitHub Actions updates.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
jekyll-build/action.yml |
Composite action to run the standard Jekyll/Rake build pipeline in consuming repos. |
.github/workflows/jekyll-deploy.yml |
Reusable deploy workflow: build, read _config.yml deployment config, assume AWS role, sync to S3, optional CloudFront invalidation, GitHub Deployment statuses. |
.github/workflows/jekyll-health-check.yml |
Reusable health-check workflow: build (without checks/tests), report bundle outdated, validate _site/index.html, create an issue on failure. |
.github/workflows/release.yml |
Auto-release workflow on pushes to main (tagging + GitHub Release creation + floating tag update). |
.github/release.yml |
Release notes category configuration based on PR labels. |
.github/dependabot.yml |
Dependabot config to update GitHub Actions dependencies on a weekly cadence. |
README.md |
Usage and versioning documentation for consumers and maintainers. |
.gitignore |
Simplified ignore rules (now only ignores /tmp/). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Agent-Logs-Url: https://github.com/OpenNews/opennews-actions/sessions/9dcce98f-d614-4ffa-991b-e873b909a44c Co-authored-by: tiffehr <60173+tiffehr@users.noreply.github.com>
|
@copilot Some prior review findings were cut to new Issues. Some were fixed. Re-Review. |
…teps Agent-Logs-Url: https://github.com/OpenNews/opennews-actions/sessions/53a87d7c-b041-4f50-aa05-3d3b2f328f28 Co-authored-by: tiffehr <60173+tiffehr@users.noreply.github.com>
Re-reviewed the current state. Found three remaining single-quoted JS string interpolations that hadn't been addressed:
All three are now using |
Bootstraps
opennews-actionsas a shared GitHub Actions automation repo for OpenNews Jekyll/static sites.New files
jekyll-build/action.yml— Composite action: checkout → setup-ruby (.ruby-version+ bundler-cache) →validate_yaml→check→build→test. Bothrun-checksandrun-testsare boolean inputs (defaulttrue) so callers can skip either..github/workflows/jekyll-deploy.yml— Reusable workflow (workflow_callonly). Callsjekyll-build@v1, extractsbucket/staging_bucket/cloudfront_distribution_idfrom_config.ymlvia inline Ruby, authenticates AWS via OIDC (configure-aws-credentials@v6), syncs_site/to S3, conditionally invalidates CloudFront (production + CF ID present), and brackets the deploy with GitHub Deployment create/status viagithub-script@v8..github/workflows/jekyll-health-check.yml— Reusable workflow (workflow_callonly). Runs build (checks/tests off), capturesbundle outdatedoutput, asserts_site/index.htmlexists, opens a labeled GitHub Issue on failure — skipping creation if a matching open issue already exists. Schedule trigger stays in the consumer's workflow..github/dependabot.yml—github-actionsecosystem only, weekly Monday,ci:prefix. No bundler/npm blocks.Consumer usage
Consuming repos must define
deployment.bucket,deployment.staging_bucket, and optionallydeployment.cloudfront_distribution_idin their_config.yml.Original prompt
Start the shared automation repo with no Ruby Gem work (no Gemfile/Rakefile/rake tasks).
Scope: Shared GitHub Actions automation only
1. jekyll-build/action.yml (composite action for build/test)
2. .github/workflows/jekyll-deploy.yml (reusable workflow)
3. .github/workflows/jekyll-health-check.yml (reusable workflow)
4. .github/dependabot.yml (github-actions only)
5. README.md
Constraints
The following is the prior conversation context from the user's chat exploration (may be truncated):
User: The following public GitHub repos for OpenNews/ have been upgraded to pretty much the same core GitHub Actions based deploy mechanisms, rake tasks and developer-experience configuration files. It's repetitive and rife for code and functionality drift and should be consolidated into a Shared Composite Action.
Plan that action, if I were to upgrade the repos that still have Travis driving CI/CD work to follow the patterns in the latest Actions-focused upgrades but try to consolidate fixes and upgrades to a Shared Composition Action repo for the Org.
Upgraded to Actions:
In need of upgrade:
Assistant: Good. I have enough context. Let me now produce the plan.
This pull request was created from Copilot chat.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.