From 4c641225cc8119ff9ef737c22c76ad4fe78bbf9a Mon Sep 17 00:00:00 2001 From: Daniel Saidi Date: Tue, 5 Mar 2024 18:10:43 +0100 Subject: [PATCH] Add a workflow for publishing DocC on every commit --- .github/workflows/docc-publish.yml | 58 +++++++++++++++++++ .../workflows/{swift.yml => test-runner.yml} | 8 +-- 2 files changed, 62 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/docc-publish.yml rename .github/workflows/{swift.yml => test-runner.yml} (87%) diff --git a/.github/workflows/docc-publish.yml b/.github/workflows/docc-publish.yml new file mode 100644 index 000000000..a9c829801 --- /dev/null +++ b/.github/workflows/docc-publish.yml @@ -0,0 +1,58 @@ +# This workflow builds publish DocC docs to GitHub Pages. +# Source: https://sachithrasiriwardhane.medium.com/how-to-automate-docc-documentation-hosting-with-github-pages-b6d120880dd3 + +name: DocC Publish + +on: + push: + branches: ["main"] + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow one concurrent deployment +concurrency: + group: "pages" + cancel-in-progress: true + +jobs: + # One deployment deploy job since we're just deploying + deploy: + environment: + # Must set to this for deploying to GitHub Pages + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: macos-13 + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Select Xcode 15.1 + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: '15.1.0' + - name: Build DocC + run: | + swift package resolve; + + xcodebuild docbuild -scheme RichTextKit -derivedDataPath /tmp/docbuild -destination 'platform=iOS Simulator,name=iPhone 15'; + + echo "Archiving documentation..." + + $(xcrun --find docc) process-archive \ + transform-for-static-hosting /tmp/docbuild/Build/Products/Debug-iphonesimulator/RichTextKit.doccarchive \ + --output-path docs \ + --hosting-base-path ''; + + echo "** Archived documentation**" + + echo "" > docs/index.html; + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + path: 'docs' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1 diff --git a/.github/workflows/swift.yml b/.github/workflows/test-runner.yml similarity index 87% rename from .github/workflows/swift.yml rename to .github/workflows/test-runner.yml index 5f5e4ce38..25ec4d81a 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/test-runner.yml @@ -1,13 +1,13 @@ -# This workflow will build a Swift project +# This workflow builds and tests the project. # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift -name: Swift +name: Test Runner on: push: - branches: [ "main" ] + branches: ["main"] pull_request: - branches: [ "main" ] + branches: ["main"] jobs: build: