Skip to content
Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,198 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Layer5 Logo

Layer5 Academy Apache 2.0 License Hugo

Academy

Update Academy Action

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.


🚀 Usage

- 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.


🛠️ Makefile Targets

The repository includes a Makefile for local site development and deployment tasks:

# Verify required commands and local dependencies are present
make check-deps

# Install site dependencies
make setup

# Start the local Hugo development server with live reload
make site

# Serve the site once with the file watcher off (no live reload)
make serve

# Build the site locally with draft and future content enabled
make build

# Build the site for a deploy preview (honors DEPLOY_PRIME_URL)
make build-preview

# Build the site using the Layer5 Cloud production URL
make build-production

# Empty the build cache, reinstall dependencies, and run the site locally
make clean

# Check Markdown for linting issues
make lint

# Fix Markdown linting issues
make lint-fix

# Check internal links in the built site
make check-links

# 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 the site with the Layer5 Cloud staging URL
make build-staging

# Update a Hugo module to a specific version
make update-module module=<module-path> version=<version>

# Set an org's module version in academy_config.json
make update-org-to-module-version orgId=<org-id> version=<version>

# Sync the built site from public/ to ../meshery-cloud/academy
make sync-with-cloud

📥 Inputs

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.

📤 Outputs

Name Description
response The JSON response returned by the Academy update API.

✅ Example Workflow

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 }}"

🔐 Security

Always store the token input as a GitHub secret and never hardcode it in your workflow YAML.


Layer5 Community

Community & Contributions

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 Layer5 Slack Layer5 Community

✔️ 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.


🏷️ Marketplace

To use this action from the GitHub Marketplace, reference it like:

uses: layer5io/academy-build@master

Supports composite run steps – no runtime required.


About

GitHub Action and Build Process for Academies

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

28 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages