From bddd99a84be8cdacfc18e53c710647434ed058f8 Mon Sep 17 00:00:00 2001 From: Scott Gerring Date: Fri, 28 Jul 2023 09:59:55 +0100 Subject: [PATCH] fix: Rollback doc changes (#1323) * Revert "docs: versioning - fix typo (#1322)" This reverts commit a0c7d3860dd86c5f991c21e55177917d7119cd50. * Revert "docs: add support for docs versioning (#1239) (#1293)" This reverts commit 3dc84051a1a32cf90b8e3d716fe608e707ee4c16. --- .github/workflows/build-docs.yml | 2 +- .github/workflows/docs.yml | 41 +++++++ .github/workflows/rebuild-latest-docs.yml | 39 ------ .github/workflows/release-doc.yml | 19 --- .github/workflows/reusable-publish-docs.yml | 124 -------------------- mkdocs.yml | 3 - 6 files changed, 42 insertions(+), 186 deletions(-) create mode 100644 .github/workflows/docs.yml delete mode 100644 .github/workflows/rebuild-latest-docs.yml delete mode 100644 .github/workflows/release-doc.yml delete mode 100644 .github/workflows/reusable-publish-docs.yml diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index 15d08587d..cbcdcdd9e 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -34,4 +34,4 @@ jobs: - name: Build docs website run: | echo "GIT_PYTHON_REFRESH=quiet" - make build-docs-website + make build-docs-website \ No newline at end of file diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml new file mode 100644 index 000000000..9c09e294d --- /dev/null +++ b/.github/workflows/docs.yml @@ -0,0 +1,41 @@ +name: Docs + +on: + release: + types: + - published + workflow_dispatch: {} + +permissions: + id-token: write + contents: write + pages: write + +jobs: + docs: + runs-on: ubuntu-latest + environment: Docs + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.8" + - name: Capture branch and tag + id: branch_name + run: | + echo "SOURCE_BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV + echo "SOURCE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV + - name: Build docs website + run: | + make build-docs-website + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef + with: + aws-region: us-east-1 + role-to-assume: ${{ secrets.AWS_DOCS_ROLE_ARN }} + - name: Deploy Docs + run: | + aws s3 sync \ + dist \ + s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/ diff --git a/.github/workflows/rebuild-latest-docs.yml b/.github/workflows/rebuild-latest-docs.yml deleted file mode 100644 index f176ca901..000000000 --- a/.github/workflows/rebuild-latest-docs.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Rebuild latest docs - -# PROCESS -# -# 1. Build User Guide and API docs -# 2. Publish to GitHub Pages -# 3. Publish to S3 (new home) - -# USAGE -# -# Only used for deploying a documentation hotfix to /latest and its associated version w/o a full release. -# -# Steps: -# -# 1. Trigger "Rebuild latest docs" workflow manually: https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow -# 2. Use the latest version released under Releases e.g. 2.0.0 - -on: - workflow_dispatch: - inputs: - latest_published_version: - description: "Latest published version to rebuild latest docs for, e.g. 1.4.2" - default: "1.4.2" - required: true - -permissions: - contents: read - -jobs: - release-docs: - permissions: - contents: write # push to gh-pages - pages: write # deploy gh-pages website - id-token: write # trade JWT token for AWS credentials in AWS Docs account - secrets: inherit - uses: ./.github/workflows/reusable-publish-docs.yml - with: - version: ${{ inputs.latest_published_version }} - alias: latest diff --git a/.github/workflows/release-doc.yml b/.github/workflows/release-doc.yml deleted file mode 100644 index 5f87f970a..000000000 --- a/.github/workflows/release-doc.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Docs - -on: - release: - types: - - published - workflow_dispatch: {} - -jobs: - release-docs: - permissions: - contents: write - pages: write - id-token: write - secrets: inherit - uses: ./.github/workflows/reusable-publish-docs.yml - with: - version: main - alias: stage \ No newline at end of file diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml deleted file mode 100644 index 9ab53dac2..000000000 --- a/.github/workflows/reusable-publish-docs.yml +++ /dev/null @@ -1,124 +0,0 @@ -name: Reusable Publish docs - -env: - BRANCH: main - ORIGIN: aws-powertools/powertools-lambda-java - VERSION: "" - -on: - workflow_call: - inputs: - version: - description: "Version to build and publish docs (1.28.0, develop)" - required: true - type: string - alias: - description: "Alias to associate version (latest, stage)" - required: true - type: string - detached_mode: - description: "Whether it's running in git detached mode to ensure git is sync'd" - required: false - default: false - type: boolean - -permissions: - contents: write - id-token: write - pages: write - -jobs: - publish-docs: - runs-on: ubuntu-latest - environment: Docs - steps: - - name: Checkout code - uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab # v3.5.2 - with: - # While `fetch-depth` is used to allow the workflow to later commit & push the changes. - fetch-depth: 0 - - name: Setup dependencies - uses: ./.github/actions/cached-node-modules - - name: Set up Python - uses: actions/setup-python@57ded4d7d5e986d7296eab16560982c6dd7c923b # v4.6.0 - with: - python-version: "3.8" - - name: Install doc generation dependencies - run: | - pip install --upgrade pip - pip install -r docs/requirements.txt - - name: Setup doc deploy - run: | - git config --global user.name Docs deploy - git config --global user.email aws-devax-open-source@amazon.com - - name: Git refresh tip (detached mode) - # Git Detached mode (release notes) doesn't have origin - if: ${{ inputs.detached_mode }} - run: | - git config pull.rebase true - git config remote.origin.url >&- || git remote add origin https://github.com/"$ORIGIN" - git pull origin "$BRANCH" - - name: Normalize Version Number - run: echo "VERSION=$(echo ${{ inputs.version }} | sed 's/v//')" >> $GITHUB_ENV - - name: Build docs website and API reference - env: - ALIAS: ${{ inputs.alias }} - run: | - rm -rf site - mkdocs build - mike deploy --update-aliases --no-redirect ${{ env.VERSION }} ${{ env.ALIAS }} --branch backup-gh-pages - # Set latest version as a default - mike set-default latest --branch backup-gh-pages - - name: Configure AWS credentials - uses: aws-actions/configure-aws-credentials@e1e17a757e536f70e52b5a12b2e8d1d1c60e04ef # v2.0.0 - with: - aws-region: us-east-1 - role-to-assume: ${{ secrets.AWS_DOCS_ROLE_ARN }} - - name: Copy API Docs - run: | - cp -r api site/ - - - name: Deploy Docs (Version) - env: - VERSION: ${{ inputs.version }} - ALIAS: ${{ inputs.alias }} - run: | - aws s3 sync \ - site/ \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/${{ env.VERSION }}/ - - name: Deploy Docs (Alias) - env: - VERSION: ${{ inputs.version }} - ALIAS: ${{ inputs.alias }} - run: | - aws s3 sync \ - site/ \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/${{ env.ALIAS }}/ - - name: Deploy Docs (Version JSON) - env: - VERSION: ${{ inputs.version }} - ALIAS: ${{ inputs.alias }} - - - # We originally used "mike" from PyPi to manage versions for us, but since we moved to S3, we can't use it to manage versions any more. - # Instead, we're using some shell script that manages the versions. - # - # Operations: - # 1. Download the versions.json file from S3 - # 2. Find any reference to the alias and delete it from the versions file - # 3. This is voodoo (don't use JQ): - # - we assign the input as $o and the new version/alias as $n, - # - we check if the version number exists in the file already (for republishing docs) - # - if it's an alias (stage/latest/*) or old version, we do nothing and output $o (original input) - # - if it's a new version number, we add it at position 0 in the array. - # 4. Once done, we'll upload it back to S3. - - run: | - aws s3 cp \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/versions.json \ - versions_old.json - jq 'del(.[].aliases[] | select(. == "${{ env.ALIAS }}"))' < versions_old.json > versions_proc.json - jq '. as $o | [{"title": "${{ env.VERSION }}", "version": "${{ env.VERSION }}", "aliases": ["${{env.ALIAS}}"] }] as $n | $n | if .[0].title | test("[a-z]+") or any($o[].title == "${{ env.VERSION }}";.) then $o else $n + $o end' < versions_proc.json > versions.json - aws s3 cp \ - versions.json \ - s3://${{ secrets.AWS_DOCS_BUCKET }}/lambda-java/versions.json diff --git a/mkdocs.yml b/mkdocs.yml index 05f02c5ca..da00b24d1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -82,9 +82,6 @@ extra_javascript: - javascript/extra.js extra: - version: - provider: mike - default: latest powertools: version: 1.16.1 # to update after each release (we do not want snapshot version here)