Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sersoft-gmbh/swifty-docs-action

A GitHub Action that generates documentation for a Swift package using docc.
https://github.com/sersoft-gmbh/swifty-docs-action

docc github-actions swift xcode

Last synced: 30 days ago
JSON representation

A GitHub Action that generates documentation for a Swift package using docc.

Awesome Lists containing this project

README

        

# Swift Package Documentation Generator

[![Tests](https://github.com/sersoft-gmbh/swifty-docs-action/actions/workflows/tests.yml/badge.svg)](https://github.com/sersoft-gmbh/swifty-docs-action/actions/workflows/tests.yml)

This action generates documentation for a Swift package using `docc`.

**Important:** The package must use the [Swift-DocC Plugin](https://github.com/apple/swift-docc-plugin) unless `xcodebuild` is used!

**Note:** As of version 2, this action uses `docc` instead of `jazzy`! Use `@v1` to use `jazzy`.

## Inputs

### `package-path`

The path to the package.

Required. Defaults to `${{github.workspace}}`.

### `package-version`

The version to use for this package.

### `enable-inherited-docs`

Whether to enable inherited docs. Defaults to `false`.

### `enable-index-buildiung`

Enable index building. Defaults to `false`.

### `checkout-path`

The path to check out the package to. Defaults to the workspace (`${{ github.workspace }}`).

### `repository-service`

The service to use for the repository. Must be supported by `docc` (see `xcrun docc convert --help`). Defaults to `github`.

### `repository-base-url`

The base URL of the repository. Defaults to the current repository (`${{ github.server_url }}/${{ github.repository }}`).

### `transform-for-static-hosting`

Enables the static hosting transformation. Defaults to `false`.

### `hosting-base-path`

The hosting base path to use.

### `other-docc-arguments`

Further (newline-separated) `docc` arguments.

### `targets`

A list of targets separated by newline. If not given, all targets are built.

This is ignored if `use-xcodebuild` is `true`!

### `use-xcodebuild`

Tells the action to use `xcodebuild` (instead of `swift package`).
Use `xcodebuild-scheme` and `xcodebuild-destination` to further customize the `xcodebuild` invocation.

Defaults to `false`.

_Note:_ This parameter is only evaluated when running on macOS.

### `xcodebuild-scheme`

The scheme to use for the `xcodebuild` invocation. Only used if `use-xcodebuild` is `true`.

_Note:_ This parameter is only evaluated when running on macOS.

### `xcodebuild-destination`

The destination to use for the `xcodebuild` invocation. Only used if `use-xcodebuild` is `true`.

_Note:_ This parameter is only evaluated when running on macOS.

### `other-xcodebuild-arguments`

Further (newline-separated) `xcodebuild` arguments.
_Note:_ This parameter is only evaluated when running on macOS.

### `output`

The path to the output directory.

## Example Usage

Use the following snippet in a Swift package repository to generate documentation for all products of your Swift package:
```yaml
uses: sersoft-gmbh/swifty-docs-action@v3
with:
output: docs
```