Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/staffbase/backstage-techdocs-action
GitHub Action for creating and publishing Backstage TechDocs.
https://github.com/staffbase/backstage-techdocs-action
actions backstage github-actions
Last synced: about 2 months ago
JSON representation
GitHub Action for creating and publishing Backstage TechDocs.
- Host: GitHub
- URL: https://github.com/staffbase/backstage-techdocs-action
- Owner: Staffbase
- License: apache-2.0
- Created: 2022-07-18T07:08:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-01T19:50:09.000Z (9 months ago)
- Last Synced: 2024-04-14T12:55:13.597Z (9 months ago)
- Topics: actions, backstage, github-actions
- Homepage:
- Size: 72.3 KB
- Stars: 2
- Watchers: 16
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# 📖 GitHub Action for Backstage TechDocs
This GitHub Action can be used for generating and publishing [Backstage TechDocs](https://backstage.io/docs/features/techdocs/techdocs-overview).
## Features
The action facilitated [TechDocs CLI](https://backstage.io/docs/features/techdocs/cli) to generate and publish TechDocs sites.
- Building TechDocs only
- Building and publish TechDocs to cloud object storage
- [AWS S3](https://aws.amazon.com/s3/)
- [Azure Blob](https://azure.microsoft.com/en-us/services/storage/blobs/)## Usage
### Minimal Example
The following shows a minimal example of building and publishing TechDocs to AWS S3.
```yaml
name: Publish TechDocs Siteon:
push:
branches:
- main
paths:
- "docs/**"
- "mkdocs.yml"
- ".github/workflows/techdocs.yml"jobs:
publish-techdocs-site:
name: Publish TechDocs Site
runs-on: ubuntu-20.04
steps:
- name: Setup Node
uses: Staffbase/backstage-techdocs-action@v1
with:
entity-name: 'pizza-service'
publisher-type: 'azureBlobStorage'
storage-name: 'techdocs'
azure-account-name: ${{ secrets.TECHDOCS_AZURE_ACCOUNT_NAME }}
azure-account-key: ${{ secrets.TECHDOCS_AZURE_ACCESS_KEY }}
```### Advanced Example
The following will skip the publish step (e.g. to verify site generation in a pull request) and installs additional plugins:
```yaml
name: Publish TechDocs Siteon:
push:
paths:
- "docs/**"
- "mkdocs.yml"
- ".github/workflows/techdocs.yml"jobs:
publish-techdocs-site:
name: Publish TechDocs Site
runs-on: ubuntu-20.04
steps:
- name: Setup Node
uses: Staffbase/backstage-techdocs-action@v1
with:
entity-name: 'pizza-service'
additional-plugins: 'mkdocs-minify-plugin\>=0.3 mkdocs-awesome-pages-plugin==2.8.0 mdx_include==1.4.2'
skip-publish: 'true'
```## Configuration
| Name | Description | Required | Default |
| ----------------------- | ---------------------------------------------------------------------------------- | -------- | -------------- |
| `entity-namespace` | Entity namespace in Backstage | `true` | `default` |
| `entity-kind` | Kind of the Backstage entity | `true` | `Component` |
| `entity-name` | Name of the Backstage entity | `true` | |
| `publisher-type` | `awsS3` or `azureBlobStorage`. If not set, generated site will not be published. | `false` | |
| `storage-name` | In case of AWS, use the bucket name. In case of Azure, use container name. | `false` | |
| `aws-region` | **Required if `publisher-type: awsS3`** - AWS Region | `false` | `eu-central-1` |
| `aws-access-key-id` | **Required if `publisher-type: awsS3`** - AWS Access Key ID | `false` | |
| `aws-secret-access-key` | **Required if `publisher-type: awsS3`** - AWS Secret Access Key | `false` | |
| `azure-account-name` | **Required if `publisher-type: azureBlobStorage`** - Azure Account Name | `false` | |
| `azure-account-key` | **Required if `publisher-type: azureBlobStorage`** - Azure Account Key | `false` | |
| `additional-plugins` | Space separated list of additional python plugins (Bash quoting for special chars) | `false` | |
| `skip-publish` | Indicates whether publish step should be skipped | `false` | `false` |## Contributing
Please read [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.
## License
This project is licensed under the Apache-2.0 License - see the [LICENSE.md](LICENSE) file for details.
Staffbase GmbH
Staffbase is an internal communications platform built to revolutionize the way you work and unite your company. Staffbase is hiring: jobs.staffbase.com
GitHub | Website | Jobs