Skip to content

Commit eb60012

Browse files
authored
ci: add docs generation into the release github action (#75)
1 parent ebb0a3d commit eb60012

File tree

2 files changed

+45
-78
lines changed

2 files changed

+45
-78
lines changed

.github/workflows/docs.yml

Lines changed: 0 additions & 76 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,15 @@ jobs:
6767
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6868
run: |
6969
echo "RELEASE_NOTES<<EOF" >> "$GITHUB_OUTPUT"
70-
git cliff --config ./cliff.toml --latest >> "$GITHUB_OUTPUT"
70+
71+
echo "All notable changes to this project will be documented in this file." >> "$GITHUB_OUTPUT"
72+
echo "" >> "$GITHUB_OUTPUT"
73+
echo "The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)," >> "$GITHUB_OUTPUT"
74+
echo "and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)." >> "$GITHUB_OUTPUT"
75+
echo "" >> "$GITHUB_OUTPUT"
76+
77+
git cliff --config ./cliff.toml --latest --strip header | awk 'NF{p=1} p' | tail -n +2 >> "$GITHUB_OUTPUT"
78+
7179
echo "EOF" >> "$GITHUB_OUTPUT"
7280
- name: Commit changes
7381
id: auto-commit-action
@@ -87,4 +95,39 @@ jobs:
8795
name: ${{ steps.next-version.outputs.NEXT_VERSION }}
8896
tag_name: ${{ steps.next-version.outputs.NEXT_VERSION }}
8997
body: ${{ steps.release-notes.outputs.RELEASE_NOTES }}
90-
target_commitish: ${{ steps.auto-commit-action.outputs.commit_hash }}
98+
target_commitish: ${{ steps.auto-commit-action.outputs.commit_hash }}
99+
- name: Build DocC
100+
id: build
101+
uses: space-code/build-docc@main
102+
if: steps.check-changes.outputs.has-changes == 'true'
103+
with:
104+
schemes: '["ValidatorCore", "ValidatorUI"]'
105+
version: ${{ steps.next-version.outputs.NEXT_VERSION }}
106+
- name: Generate Index Page
107+
uses: space-code/generate-index@v1.0.0
108+
if: steps.check-changes.outputs.has-changes == 'true'
109+
with:
110+
version: ${{ steps.next-version.outputs.NEXT_VERSION }}
111+
project-name: 'Validator'
112+
project-description: 'Validator is a modern, lightweight Swift framework that provides elegant and type-safe input validation.'
113+
modules: |
114+
[
115+
{
116+
"name": "ValidatorCore",
117+
"path": "validatorcore",
118+
"description": "Core validation functionality and rules for Swift applications. Contains base types, protocols, and validator implementations.",
119+
"badge": "Core Module"
120+
},
121+
{
122+
"name": "ValidatorUI",
123+
"path": "validatorui",
124+
"description": "UI components and helpers for building validation interfaces. Ready-to-use solutions for SwiftUI and UIKit.",
125+
"badge": "UI Module"
126+
}
127+
]
128+
- name: Deploy
129+
uses: peaceiris/actions-gh-pages@v4
130+
if: steps.check-changes.outputs.has-changes == 'true'
131+
with:
132+
github_token: ${{ secrets.GITHUB_TOKEN }}
133+
publish_dir: ./docs

0 commit comments

Comments
 (0)