diff --git a/.github/workflows/publish-pages.yml b/.github/workflows/publish-pages.yml new file mode 100644 index 000000000..d4e1dcd26 --- /dev/null +++ b/.github/workflows/publish-pages.yml @@ -0,0 +1,48 @@ +# This is a basic workflow to help you get started with Actions + +name: Deploy DocC +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + pull_request: + 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: + # Single deploy job since we're just deploying + deploy: + environment: + # Must be 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: Build DocC + run: | + xcodebuild docbuild -scheme ScribbleLab \ + -derivedDataPath /tmp/docbuild \ + -destination 'generic/platform=iOS' CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO; + $(xcrun --find docc) process-archive \ + transform-for-static-hosting /tmp/docbuild/Build/Products/Debug-iphoneos/ScribbleLab.doccarchive \ + --hosting-base-path ScribbleLab \ + --output-path docs; + echo "" > docs/index.html; + - name: Upload artifact + uses: actions/upload-pages-artifact@v1 + with: + # Upload only docs directory + path: 'docs' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v1