From d57219e7aa56027100541f7f64628617110a9102 Mon Sep 17 00:00:00 2001 From: Dr-Electron Date: Fri, 13 Oct 2023 16:06:50 +0200 Subject: [PATCH] Update action --- .github/workflows/upload-docs.yml | 63 +++++++++++++++++++++++++++--- bindings/python/pydoc-markdown.yml | 2 +- 2 files changed, 58 insertions(+), 7 deletions(-) diff --git a/.github/workflows/upload-docs.yml b/.github/workflows/upload-docs.yml index ef103867ee..f338a1d885 100644 --- a/.github/workflows/upload-docs.yml +++ b/.github/workflows/upload-docs.yml @@ -1,25 +1,76 @@ name: Build and upload API docs on: - push: - branches: [develop, staging] + release: + types: [published] jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 + + - name: Set up Rust + uses: ./.github/actions/setup-rust + with: + cache-root: bindings/nodejs + + - name: Set Up Node.js 18 and Yarn Cache + uses: actions/setup-node@v3 + with: + node-version: "18" + cache: yarn + cache-dependency-path: bindings/nodejs/yarn.lock + + - name: Install Required Dependencies (Ubuntu) + run: | + sudo apt-get update + sudo apt-get install libudev-dev libusb-1.0-0-dev + + - name: Echo tag + run: echo ${{ github.ref }} + + - name: Set language and version + id: releasase_metadata + run: | + if [[ ${{ github.ref }} == *"python"* ]]; then + echo LANGUAGE="python" >> $GITHUB_OUTPUT + fi + if [[ ${{ github.ref }} == *"nodejs"* ]]; then + echo LANGUAGE="python" >> $GITHUB_OUTPUT + fi + + # Get the version from the tag. Example: iota-sdk-nodejs-v1.1.1 would result in 1.1 + VERSION=$(echo ${{ github.ref }} | sed -e 's/.*v\([0-9]*\.[0-9]*\).*/\1/') + echo VERSION=$VERSION >> $GITHUB_OUTPUT + - name: Build python docs + # Check if the output of set_language contains python + if: steps.releasase_metadata.outputs.LANGUAGE == 'python' run: | cd bindings/python pip install -r requirements-dev.txt PYTHONPATH=. pydoc-markdown - cd - + cd - + - name: Build nodejs docs + if: steps.releasase_metadata.outputs.LANGUAGE == 'nodejs' run: | cd bindings/nodejs # The SDK still uses yarn classic: https://github.com/iotaledger/iota-sdk/issues/433 yarn set version classic yarn - yarn create-api-docs --out ../../docs/references/nodejs - cd - \ No newline at end of file + yarn create-api-docs --out ../../docs/nodejs + cd - + + - name: Compress generated docs + run: | + tar czvf ${{ steps.releasase_metadata.outputs.LANGUAGE }}.tar.gz docs/* + + - name: Upload docs to AWS S3 + env: + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID_IOTA_WIKI }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY_IOTA_WIKI }} + AWS_DEFAULT_REGION: "eu-central-1" + run: | + aws s3 cp ${{ steps.releasase_metadata.outputs.LANGUAGE }}.tar.gz s3://files.iota.org/iota-wiki/iota-sdk/${{ steps.releasase_metadata.outputs.VERSION }} --acls public-read diff --git a/bindings/python/pydoc-markdown.yml b/bindings/python/pydoc-markdown.yml index 0b3ed48b6a..b4d9242ef0 100644 --- a/bindings/python/pydoc-markdown.yml +++ b/bindings/python/pydoc-markdown.yml @@ -9,7 +9,7 @@ processors: renderer: type: docusaurus docs_base_path: ../../docs/ - relative_output_path: references/python + relative_output_path: python markdown: use_fixed_header_levels: true