name: Docs on: push: branches: - main workflow_dispatch: permissions: contents: read pages: write id-token: write concurrency: group: "pages" cancel-in-progress: true jobs: docs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Set up Pages uses: actions/configure-pages@v5 - name: Set up Swift uses: swift-actions/setup-swift@v3 with: swift-version: '6.2.4' - name: Inject DocC Plugin Dependency run: | if ! grep -q 'swift-docc-plugin' Package.swift; then awk 'BEGIN{done=0} /dependencies: \[/ && done==0 {print; print "\t\t.package(url: \"https://github.com/apple/swift-docc-plugin.git\", from: \"1.4.0\"),"; done=1; next}1' Package.swift > Package.swift.tmp mv Package.swift.tmp Package.swift fi - name: Generate Inotify Docs run: | swift package --allow-writing-to-directory ./public/inotify \ generate-documentation \ --target Inotify \ --output-path ./public/inotify \ --transform-for-static-hosting \ --hosting-base-path swift-inotify/inotify \ --disable-indexing - name: Generate TaskCLI Docs run: | swift package --allow-writing-to-directory ./public/taskcli \ generate-documentation \ --target TaskCLI \ --output-path ./public/taskcli \ --transform-for-static-hosting \ --hosting-base-path swift-inotify/taskcli \ --disable-indexing - name: Create Index Page run: | cat > ./public/index.html <<'HTML'