Skip to content

4.4.0

4.4.0 #27

Workflow file for this run

# 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]
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=macOS
BUILD_PRODUCT: Debug
JSON_TEMPLATE_BASE: https://github.com/AgoraIO/agora_doc_source/releases/download/master-build/macos_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_14.3.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 AgoraRtcKit.docc macos-arm64_x86_64
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/[email protected]
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 "<script>window.location.href += \"/documentation/${{ steps.package-name.outputs.lowercase }}\"</script>" > 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