-
Notifications
You must be signed in to change notification settings - Fork 250
Conversation
Fix #3479
New
- Adds GitHub Actions workflow step to deploy v5 vanilla course to GitHub Pages: https://adaptlearning.github.io/v5demo/
- Workflow will run when a new release is published or every Tuesday at 7am UTC.
Update
- Update Node version environment to
lts/*in test.yml
Questions
- Should we update all node versions in the workflow files (ex. test.yml) to use the same version? If so, should we use
lts/*or18? Decision was to use lts/* - How do we "advertise" the new site? Add to the adapt_framework README.md, add to the wiki, etc?
a. Noting that https://github.com/adaptlearning doesn't actually have a README.md doc. First time visitors may not realize that they need to visit the adapt_framework repo to get an overview. Separate issue to consider... - Would it be useful to run this workflow on a schedule so that the vanilla course always has the most up to date plugins? For instance, set this up to run once a week and refresh the site. Decision was to also run this on a schedule
Technical explanations
How It Works
How It Works
- releases.yml runs on push to master - semantic-release creates GitHub release + tag
- GitHub release published - triggers build-and-deploy.yml. Note that the schedule also triggers this workflow.
- Workflow runs
npm ci-grunt build- deploys tomasterbranch ofadaptlearning/adaptlearning.github.io repoin thev5demodirectory. - No cleanup needed (workflow runs in isolated environment)
Deployment Options Considered
Deployment Options Considered
peaceiris/actions-gh-pages@v4 (chosen):
- Community action with 11k+ stars, well-maintained since 2019
- Single-step deployment process
- Works with traditional gh-pages branch approach
- Supports external repository deployment
- Perfect for custom build tools like Grunt
- Simpler for release-triggered workflows
actions/deploy-pages (official GitHub alternative):
- Official GitHub action (launched ~2022)
- Two-step process: upload artifact - deploy
- Requires "Deploy from GitHub Actions" source setting (not branch-based)
- GitHub's stated direction for Pages
- Better for static site generators or complex CI/CD
- More modular but adds complexity for simple use cases
Key Differences
Deployment Method:
- peaceiris: Pushes content directly to a branch (typically gh-pages)
- actions/deploy-pages: Uses artifacts uploaded via actions/upload-pages-artifact
Official Status:
- peaceiris documentation acknowledges: "See also the GitHub official GitHub Pages Action first"
- GitHub announced in August 2022: "GitHub Pages now uses Actions by default"
Why We Chose peaceiris/actions-gh-pages@v4
For our specific use case (release-triggered Adapt course deployments with Grunt builds):
- Simplicity - Single-step deployment vs two-step artifact approach
- Branch-based - Works with traditional gh-pages branch setup
- Proven - Widely used, well-documented, stable
- No workflow changes needed - Works seamlessly with our release workflow
Both actions are valid and actively maintained. We chose peaceiris for simplicity, not because it's superior to the official action.
|
Ready for review. |
|
|
Deploy to the external repository, please. We should definitely not add a build folder to this repo. This repo is the expected destination: https://github.com/adaptlearning/adaptlearning.github.io The token |
cahirodoherty-learningpool
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
This PR is included in version 5.54.0 The release is available on GitHub release Your semantic-release bot |
|
The workflow failed and needs to be fixed. Something with the SSH key? "Error loading key "/home/runner/.ssh/github": error in libcrypto" https://github.com/adaptlearning/adapt_framework/actions/runs/20055268099/job/57519135082 |