Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ on:
branches:
- '*'

concurrency:
group: docs-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: MacOS
Expand Down
74 changes: 74 additions & 0 deletions .github/workflows/documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Build and deploy DocC to GitHub pages. Based off of @karwa's work here:
# https://github.com/karwa/swift-url/blob/main/.github/workflows/docs.yml
name: Documentation

on:
release:
types:
- published
push:
branches:
- main
workflow_dispatch:

concurrency:
group: docs-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
runs-on: macos-12
steps:
- name: Select Xcode 14.1
run: sudo xcode-select -s /Applications/Xcode_14.1.app

- name: Checkout Package
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Checkout gh-pages Branch
uses: actions/checkout@v3
with:
ref: gh-pages
path: docs-out

- name: Build documentation
run: >
rm -rf docs-out/.git;
rm -rf docs-out/main;
git tag -l --sort=-v:refname | grep -e "\d\+\.\d\+.0" | tail -n +6 | xargs -I {} rm -rf {};

for tag in $(echo "main"; git tag -l --sort=-v:refname | grep -e "\d\+\.\d\+.0" | head -6);
do
if [ -d "docs-out/$tag/data/documentation/xctestdynamicoverlay" ]
then
echo "✅ Documentation for "$tag" already exists.";
else
echo "⏳ Generating documentation for XCTestDynamicOverlay @ "$tag" release.";
rm -rf "docs-out/$tag";

git checkout .;
git checkout "$tag";

swift package \
--allow-writing-to-directory docs-out/"$tag" \
generate-documentation \
--target XCTestDynamicOverlay \
--output-path docs-out/"$tag" \
--transform-for-static-hosting \
--hosting-base-path /xctest-dynamic-overlay/"$tag" \
&& echo "✅ Documentation generated for XCTestDynamicOverlay @ "$tag" release." \
|| echo "⚠️ Documentation skipped for XCTestDynamicOverlay @ "$tag".";
fi;
done

- name: Fix permissions
run: 'sudo chown -R $USER docs-out'

- name: Publish documentation to GitHub Pages
uses: JamesIves/github-pages-deploy-action@4.1.7
with:
branch: gh-pages
folder: docs-out
single-commit: true
4 changes: 4 additions & 0 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,10 @@ on:
branches:
- main

concurrency:
group: docs-${{ github.ref }}
cancel-in-progress: true

jobs:
swift_format:
name: swift-format
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,12 @@ extension AppDependencies {

The above `placeholder` parameters can be left off, but will fatal error when the endpoint is called.

## Documentation

Full documentation can be found [here][docs].

## License

This library is released under the MIT license. See [LICENSE](LICENSE) for details.

[docs]: https://pointfreeco.github.io/xctest-dynamic-overlay/main/documentation/xctestdynamicoverlay