Kurocado Studio Styleguide Help

Writerside Documentation Workflow

Prerequisites

Overview

Builds and deploys project documentation using Docker-based builders.

The following sequence diagram illustrates the interactions and steps involved in the Writerside Documentation workflow, triggered by a push to the main branch or a workflow call.

DeveloperGitHub RepositoryGitHub Actions RunnerDocumentation BuildersGitHub APIalt[Changes Detected][No Changes]alt[Changes Detected][No Changes]alt[Triggered by Push][Triggered by Workflow Call]alt[Deployment Successful][Deployment Failed]alt[Workflow Proceeds]Push to `main` Branch or Trigger Workflow CallTrigger Writerside Documentation WorkflowDetect Changes in `Writerside/**`Proceed with WorkflowNo Action TakenCheck for Changes in `Writerside` DirectoryProceed with WorkflowNo Action TakenCheckout RepositoryInstall DependenciesBuild Docs using Writerside Docker BuilderBuild Results (Artifact, report.json)Save Artifact with Build ResultsUnzip ArtifactConfigure GitHub PagesUpload Artifact to GitHub PagesDeploy to GitHub PagesConfirm DeploymentReport Deployment ErrorsDeveloperGitHub RepositoryGitHub Actions RunnerDocumentation BuildersGitHub API

Step 1 — Configure Necessary Secrets

a. Navigate to Repository Settings

  1. Go to your repository on GitHub.

  2. Click on the Settings tab.

b. Access Secrets

  1. In the left sidebar, click on Secrets and variables under the Security section.

  2. Select Actions to manage secrets for GitHub Actions.

c. Add Required Secrets

  1. GITHUB_TOKEN: This token is automatically provided by GitHub Actions and typically does not need to be added manually unless you require customized permissions.

  2. PAT_FORCE_PUSH: Personal Access Token configured with the necessary scopes (permissions) to allow a GitHub Actions workflow to perform force push operations on a repository.

  3. Additional Secrets: If your workflow requires access to external services or APIs (e.g., authentication tokens, API keys), add them here by clicking on New repository secret and providing the necessary name and value.

Step 2 — Add Writerside instance

See how to add Writerside instance

name: Writerside Documentation on: push: branches: - main jobs: documentation: uses: kurocado-studio/styleguide/.github/workflows/writerside-documentation@main secrets: inherit

Step 3 — Create the Writerside Workflow File

Create a GitHub Actions workflow file that defines the steps for automated testing checks. This workflow will be triggered by pushes to the main branch or the creation/update of pull requests.

a. Add the Workflow File

  1. In your repository, navigate to the .github/workflows/ directory. If it doesn't exist, create it.

  2. Create a new file named writerside.yml (or any name of your choice).

b. Define the Workflow

Add the following content to the writerside.yml file:

name: Writerside Documentation on: push: branches: - main jobs: documentation: uses: kurocado-studio/styleguide/.github/workflows/writerside-documentation@main secrets: inherit

Full CI/CD Pipeline Example

name: CI/CD Pipeline permissions: contents: write id-token: write pages: write pull-requests: write on: pull_request: push: branches: - main jobs: lint: uses: kurocado-studio/styleguide/.github/workflows/composite.lint.yml@main secrets: inherit test: needs: lint uses: kurocado-studio/styleguide/.github/workflows/composite.test.yml@main secrets: inherit document: needs: test uses: kurocado-studio/styleguide/.github/workflows/composite.document.yml@main secrets: inherit release: needs: document uses: kurocado-studio/styleguide/.github/workflows/composite.release.yml@main secrets: inherit if: | github.event_name == 'push' && github.ref == 'refs/heads/main'
Last modified: 23 October 2024