diff --git a/.github/deploy_docs.yml b/.github/deploy_docs.yml
new file mode 100644
index 0000000..7e197a7
--- /dev/null
+++ b/.github/deploy_docs.yml
@@ -0,0 +1,123 @@
+# Simple workflow for deploying static content to GitHub Pages
+name: Deploy DocC
+
+on:
+ # Runs on new releases
+ release:
+ types: [published]
+ pull_request:
+ branches: [main]
+ push:
+ branches: [main]
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: write
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+env:
+ PACKAGE_NAME: AgoraRtcKit
+ BUILD_DEST: generic/platform=iOS
+ BUILD_PRODUCT: Debug-iphoneos
+ JSON_TEMPLATE_BASE: https://github.com/AgoraIO/agora_doc_source/releases/download/master-build/ios_ng_json_template
+
+jobs:
+ generate-docc:
+ name: Build DocC Archives
+ runs-on: macos-13
+ strategy:
+ matrix:
+ language: ['en', 'cn']
+ steps:
+ - name: Checkout 🛎️
+ uses: actions/checkout@v3
+ - name: Switch Xcode 🔄
+ run: sudo xcode-select --switch /Applications/Xcode_15.0.app
+ - name: Clone DocC Helper 👭
+ uses: actions/checkout@v3
+ with:
+ repository: maxxfrazer/xcframework-to-docc
+ path: xcframework-to-docc
+ - name: Setup Xcode Project 🛠️
+ run: |
+ sh -e xcframework-to-docc/dl_framework.sh ${{ env.PACKAGE_NAME }}
+ sh -e xcframework-to-docc/move_header_files.sh ${{ env.PACKAGE_NAME }}.xcframework ${{ env.PACKAGE_NAME }}.docc
+ sh -e xcframework-to-docc/headers_to_xcodeproj.sh ${{ env.PACKAGE_NAME }} docc_builder
+ - name: Clone Python Script 👭
+ uses: actions/checkout@v3
+ with:
+ repository: littleGnAl/iris-doc
+ path: iris-doc
+ - name: Set up python 3.9 🐍
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.9'
+ - name: Add Inline Docs (${{ matrix.language }}) 📕
+ run: |
+ cd iris-doc
+ python -m pip install -r requirements.txt
+ python iris_doc.py \
+ --config=$(pwd)/fmt_config/fmt_oc.yaml \
+ --language=oc \
+ --template-url=${{ env.JSON_TEMPLATE_BASE }}_${{ matrix.language }}.json \
+ --export-file-path=$(pwd)/../docc_builder/${{ env.PACKAGE_NAME }}/Headers/${{ env.PACKAGE_NAME }}.h
+ - name: Generate DocC Archive (${{ matrix.language }}) 🪄
+ run: xcodebuild -project docc_builder/${{ env.PACKAGE_NAME }}.xcodeproj docbuild -scheme ${{ env.PACKAGE_NAME }} -derivedDataPath /tmp/docbuild -destination ${{ env.BUILD_DEST }}
+ - name: Zip It Up (${{ matrix.language }}) 🤐
+ run: |
+ mv /tmp/docbuild/Build/Products/${{ env.BUILD_PRODUCT }}/${{ env.PACKAGE_NAME }}.doccarchive ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive
+ zip -r ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive.zip ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive
+ - name: Upload DocC Artifact (${{ matrix.language }}) ⬆️
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive.zip
+ path: ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive.zip
+ - name: Upload DocC Archive to GitHub release (${{ matrix.language }}) ⬆️
+ if: github.event.release
+ uses: svenstaro/upload-release-action@2.6.0
+ with:
+ file: ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive.zip
+ asset_name: ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive.zip
+ tag: ${{ github.ref_name }}
+ publish:
+ name: Publish Documentation Site 🛜
+ if: github.event.release.prerelease == false && github.event.release.draft == false && github.event.release.tag_name == github.event.repository.default_branch
+ runs-on: macos-13
+ needs: generate-docc
+ strategy:
+ matrix:
+ language: ['en']
+ steps:
+ - name: Download DocC Archive ⬇️
+ uses: actions/download-artifact@v3
+ with:
+ name: ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive.zip
+ - name: Unzip Archive 😮
+ run: |
+ unzip ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive.zip
+ ls -li ${{ env.PACKAGE_NAME }}-${{ matrix.language }}.doccarchive
+ - name: lowercase Package Name 🔤
+ id: package-name
+ uses: vishalmamidi/lowercase-action@v1
+ with:
+ string: ${{ env.PACKAGE_NAME }}
+ - name: Build Static Website 🎈
+ run: |
+ $(xcrun --find docc) process-archive \
+ transform-for-static-hosting ${{ env.PACKAGE_NAME }}-en.doccarchive \
+ --hosting-base-path ${{ github.event.repository.name }} \
+ --output-path docs
+ 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@v2
\ No newline at end of file
diff --git a/.github/swiftpm-resolve.yml b/.github/swiftpm-resolve.yml
new file mode 100644
index 0000000..03a74b3
--- /dev/null
+++ b/.github/swiftpm-resolve.yml
@@ -0,0 +1,19 @@
+name: resolve
+
+on:
+ push:
+ branches:
+ - "main"
+ tags:
+ - "!*"
+ pull_request:
+ branches:
+ - "*"
+
+jobs:
+ resolve:
+ runs-on: macOS-latest
+ steps:
+ - uses: actions/checkout@v3
+ - name: Build Package
+ run: swift package resolve
\ No newline at end of file
diff --git a/.github/workflow_deploy.yml b/.github/workflow_deploy.yml
new file mode 100644
index 0000000..6784d86
--- /dev/null
+++ b/.github/workflow_deploy.yml
@@ -0,0 +1,91 @@
+# Simple workflow for deploying static content to GitHub Pages
+name: Deploy DocC To Pages (en)
+
+on:
+ # Runs on workflow dispatch only
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: write
+ pages: write
+ id-token: write
+
+# Allow one concurrent deployment
+concurrency:
+ group: "pages"
+ cancel-in-progress: true
+
+env:
+ PACKAGE_NAME: AgoraRtcKit
+ BUILD_DEST: generic/platform=iOS
+ BUILD_PRODUCT: Debug-iphoneos
+ JSON_TEMPLATE_BASE: https://github.com/AgoraIO/agora_doc_source/releases/download/master-build/ios_ng_json_template
+
+jobs:
+ generate-docc:
+ name: Build DocC Archives
+ runs-on: macos-13
+ steps:
+ - name: Checkout 🛎️
+ uses: actions/checkout@v3
+ - name: Switch Xcode 🔄
+ run: sudo xcode-select --switch /Applications/Xcode_15.0.app
+ - name: Clone DocC Helper 👭
+ uses: actions/checkout@v3
+ with:
+ repository: maxxfrazer/xcframework-to-docc
+ path: xcframework-to-docc
+ - name: Setup Xcode Project 🛠️
+ run: |
+ sh -e xcframework-to-docc/dl_framework.sh ${{ env.PACKAGE_NAME }}
+ sh -e xcframework-to-docc/move_header_files.sh ${{ env.PACKAGE_NAME }}.xcframework ${{ env.PACKAGE_NAME }}.docc
+ sh -e xcframework-to-docc/headers_to_xcodeproj.sh ${{ env.PACKAGE_NAME }} docc_builder
+ - name: Clone Python Script 👭
+ uses: actions/checkout@v3
+ with:
+ repository: littleGnAl/iris-doc
+ path: iris-doc
+ - name: Set up python 3.9 🐍
+ uses: actions/setup-python@v4
+ with:
+ python-version: '3.9'
+ - name: Add Inline Docs (en) 📕
+ run: |
+ cd iris-doc
+ python -m pip install -r requirements.txt
+ python iris_doc.py \
+ --config=$(pwd)/fmt_config/fmt_oc.yaml \
+ --language=oc \
+ --template-url=${{ env.JSON_TEMPLATE_BASE }}_en.json \
+ --export-file-path=$(pwd)/../docc_builder/${{ env.PACKAGE_NAME }}/Headers/${{ env.PACKAGE_NAME }}.h
+ - name: Generate DocC Archive (en) 🪄
+ run: xcodebuild -project docc_builder/${{ env.PACKAGE_NAME }}.xcodeproj docbuild -scheme ${{ env.PACKAGE_NAME }} -derivedDataPath /tmp/docbuild -destination ${{ env.BUILD_DEST }}
+ - name: Zip It Up (en) 🤐
+ run: |
+ mv /tmp/docbuild/Build/Products/${{ env.BUILD_PRODUCT }}/${{ env.PACKAGE_NAME }}.doccarchive ${{ env.PACKAGE_NAME }}-en.doccarchive
+ zip -r ${{ env.PACKAGE_NAME }}-en.doccarchive.zip ${{ env.PACKAGE_NAME }}-en.doccarchive
+ - name: Upload DocC Artifact (en) ⬆️
+ uses: actions/upload-artifact@v3
+ with:
+ name: ${{ env.PACKAGE_NAME }}-en.doccarchive.zip
+ path: ${{ env.PACKAGE_NAME }}-en.doccarchive.zip
+ - name: lowercase Package Name 🔤
+ id: package-name
+ uses: vishalmamidi/lowercase-action@v1
+ with:
+ string: ${{ env.PACKAGE_NAME }}
+ - name: Build Static Website 🎈
+ run: |
+ $(xcrun --find docc) process-archive \
+ transform-for-static-hosting ${{ env.PACKAGE_NAME }}-en.doccarchive \
+ --hosting-base-path ${{ github.event.repository.name }} \
+ --output-path docs
+ 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@v2
\ No newline at end of file