Trigger an academy content update for your organization using the Layer5 Cloud API.
This action is useful when you want to build and deploy an academy site (powered by Hugo) and then notify the Layer5 platform to pull the latest content for your organization.
- name: Trigger Academy Update
uses: layer5io/academy-build@v1
with:
orgId: 'your-org-id'
token: ${{ secrets.ACADEMY_API_TOKEN }}
version: 'v1.2.3' # optional, defaults to "latest"You can integrate this into your workflows after building your site or on versioned releases.
The repository includes a Makefile for local site development and deployment tasks:
# Verify Node.js and npm versions
make check-deps
# Install site dependencies
make setup
# Start the local Hugo development server with drafts and future content
make site
# Build the site locally
make build
# Build the site and clean the destination directory
make build-clean
# Clean the Hugo destination directory and restart local setup
make clean
# Verify Go is installed before starting the local site
make check-go
# Update the academy-theme package to the latest version
make theme-update
# Build site for staging with the Layer5 Cloud staging URL
make stg-build
# Build site for production with the Layer5 Cloud production URL
make prod-build
# Sync the built site from public/ to ../meshery-cloud/academy
make sync-with-cloud| Name | Required | Description |
|---|---|---|
orgId |
β Yes | The organization ID to update academy content for. |
token |
β Yes | Bearer token for authenticating the API call. Store it securely using secrets. |
academy-name |
β No | The name of the Academy being updated (e.g., Layer5 Academy). Defaults to "Academy" if not specified. |
version |
β No | Module version to be updated. Defaults to "latest" if not specified. |
| Name | Description |
|---|---|
response |
The JSON response returned by the Academy update API. |
This workflow runs on every release and triggers an academy content update with the release version:
name: Update Academy on Release
on:
release:
types: [published]
jobs:
update-academy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v5
- name: Call Layer5 Academy Update API
uses: layer5io/academy-build@v0.1.5
with:
orgId: 'your-org-id'
token: ${{ secrets.ACADEMY_API_TOKEN }}
version: ${{ github.ref_name }}
academy-name: 'your-academy-name' # Layer5 Academy
- name: Print API response
run: echo "${{ steps.update.outputs.response }}"Always store the token input as a GitHub secret and never hardcode it in your workflow YAML.
We warmly welcome all contributors! As you get started, please review this project's contributing guidelines.
Contributors are expected to follow the CNCF Code of Conduct.
βοΈ Join the Layer5 Slack Community.
βοΈ Discuss in the Community Forum.
βοΈ Explore the Community Handbook.
βοΈ Start with the Newcomer's Guide.
π§βπ» Maintained by Layer5
π¬ If you encounter issues or want to contribute, please open an issue or pull request at github.com/layer5io/academy-build.
To use this action from the GitHub Marketplace, reference it like:
uses: layer5io/academy-build@master
Supports composite run steps β no runtime required.

