From a6078319252e438442eecb0ef56a7289d63c8134 Mon Sep 17 00:00:00 2001 From: "T. R. Bernstein" Date: Thu, 12 Mar 2026 16:07:50 +0100 Subject: [PATCH] Add GitHub workflow file to generate docs --- .github/workflows/docs.yml | 83 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/docs.yml diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 0000000..5ff3f10 --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,83 @@ +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 + uses: fwcd/swift-docc-action@v1 + with: + target: Inotify + output: ./public/inotify + transform-for-static-hosting: 'true' + disable-indexing: 'true' + hosting-base-path: swift-inotify/inotify + - name: Generate TaskCLI Docs + uses: fwcd/swift-docc-action@v1 + with: + target: TaskCLI + output: ./public/taskcli + transform-for-static-hosting: 'true' + disable-indexing: 'true' + hosting-base-path: swift-inotify/taskcli + - name: Create Index Page + run: | + cat > ./public/index.html <<'HTML' + + + + + Swift Inotify – Documentation + + +

Swift Inotify – Documentation

+ + + + HTML + - name: Upload artifact + uses: actions/upload-pages-artifact@v4 + with: + path: ./public + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: docs + steps: + - name: Deploy Docs + uses: actions/deploy-pages@v4