From b00b799aa5bfe9fa2e9a248827c8e0e0f3d6bc9c Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Thu, 18 Aug 2022 17:49:30 +0200 Subject: [PATCH 1/6] fix: re-add release API docs to latest --- .github/workflows/reusable-publish-docs.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 9003d8d96d..a12ac73683 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -100,3 +100,11 @@ jobs: publish_dir: ./api keep_files: true destination_dir: ${{ env.RELEASE_VERSION }}/api + - name: Release API docs to latest + if: ${{ env.RELEASE_VERSION != 'dev' }} + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: ./api + keep_files: true + destination_dir: latest/api From 75497ef2454a63828d09ad7b095b1dc7ba21d04b Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 19 Aug 2022 12:18:54 +0200 Subject: [PATCH 2/6] fix: added additional guard + explicit names --- .github/workflows/reusable-publish-docs.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index a12ac73683..b5f3f16670 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -67,6 +67,12 @@ jobs: if: ${{ inputs.prIsMerged == 'true' }} run: | echo "RELEASE_VERSION=dev" >> $GITHUB_ENV + - name: Check RELEASE_VERSION env var + if: ${{ env.RELEASE_VERSION == '' }} + uses: actions/github-script@v3 + with: + script: | + core.setFailed('RELEASE_VERSION env var is empty.') - name: Install doc generation dependencies run: | pip install --upgrade pip @@ -75,7 +81,7 @@ jobs: run: | git config --global user.name Docs deploy git config --global user.email docs@dummy.bot.com - - name: Publish docs to latest + - name: Publish docs to latest if isRelease if: ${{ env.RELEASE_VERSION != 'dev' }} run: | rm -rf site @@ -100,7 +106,7 @@ jobs: publish_dir: ./api keep_files: true destination_dir: ${{ env.RELEASE_VERSION }}/api - - name: Release API docs to latest + - name: Release API docs to latest if isRelease if: ${{ env.RELEASE_VERSION != 'dev' }} uses: peaceiris/actions-gh-pages@v3 with: From b653c13feefd2e45baf4d375443a54bcf66b848f Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 19 Aug 2022 13:16:40 +0200 Subject: [PATCH 3/6] fix: made docs publish trigger on release --- .github/workflows/publish-docs-on-release.yml | 17 +++++++++++++++++ .github/workflows/reusable-publish-docs.yml | 11 ++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/publish-docs-on-release.yml diff --git a/.github/workflows/publish-docs-on-release.yml b/.github/workflows/publish-docs-on-release.yml new file mode 100644 index 0000000000..382c85df5b --- /dev/null +++ b/.github/workflows/publish-docs-on-release.yml @@ -0,0 +1,17 @@ +name: Publish docs on release + +on: + # Triggered manually + workflow_dispatch: {} + # Or triggered as result of a release + release: + types: [released] + +jobs: + run-unit-tests: + uses: ./.github/workflows/reusable-publish-docs.yml + with: + workflow_origin: ${{ github.event.repository.full_name }} + isRelease: "true" + secrets: + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index b5f3f16670..65db6292b3 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -21,7 +21,7 @@ on: jobs: publish-docs: # see https://github.com/awslabs/aws-lambda-powertools-python/issues/1349 - if: inputs.workflow_origin == 'awslabs/aws-lambda-powertools-typescript' + if: ${{ inputs.workflow_origin == 'awslabs/aws-lambda-powertools-typescript' }} runs-on: ubuntu-latest steps: - name: Checkout code @@ -56,14 +56,15 @@ jobs: python-version: "3.8" # We run this step only when the workflow has been triggered by a release # in this case we publish the docs to `/latest` - - name: Set RELEASE_VERSION env var to `latest` + - name: (Conditional) Set RELEASE_VERSION env var to `latest` if: ${{ inputs.isRelease == 'true' }} run: | - RELEASE_VERSION=$(cat packages/commons/package.json | jq '.version' -r) + RELEASE_VERSION=$(echo ${{ github.ref_name }} | sed 's/v//') + echo "RELEASE_VERSION=${RELEASE_VERSION}" echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV # We run this step only when the workflow has been triggered by a PR merge # in this case we publish the docs to `/dev` - - name: Set RELEASE_VERSION env var to `dev` + - name: (Conditional) Set RELEASE_VERSION env var to `dev` if: ${{ inputs.prIsMerged == 'true' }} run: | echo "RELEASE_VERSION=dev" >> $GITHUB_ENV @@ -72,7 +73,7 @@ jobs: uses: actions/github-script@v3 with: script: | - core.setFailed('RELEASE_VERSION env var is empty.') + core.setFailed('RELEASE_VERSION env var is empty.') - name: Install doc generation dependencies run: | pip install --upgrade pip From dbb1e3e54ab080a8dd87792203f614847dd6c899 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 19 Aug 2022 15:56:29 +0200 Subject: [PATCH 4/6] fix: added manual run publish docs --- .github/workflows/publish-docs-on-release.yml | 8 +++++++- .github/workflows/reusable-publish-docs.yml | 16 +++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/.github/workflows/publish-docs-on-release.yml b/.github/workflows/publish-docs-on-release.yml index 382c85df5b..95a400df04 100644 --- a/.github/workflows/publish-docs-on-release.yml +++ b/.github/workflows/publish-docs-on-release.yml @@ -2,7 +2,12 @@ name: Publish docs on release on: # Triggered manually - workflow_dispatch: {} + workflow_dispatch: + inputs: + versionNumber: + required: true + type: string + description: "If running this manually please insert a version number that corresponds to the latest published in the GitHub releases (i.e. v1.1.1)" # Or triggered as result of a release release: types: [released] @@ -13,5 +18,6 @@ jobs: with: workflow_origin: ${{ github.event.repository.full_name }} isRelease: "true" + versionNumber: ${{ inputs.versionNumber }} secrets: token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/reusable-publish-docs.yml b/.github/workflows/reusable-publish-docs.yml index 65db6292b3..14d9e5deb7 100644 --- a/.github/workflows/reusable-publish-docs.yml +++ b/.github/workflows/reusable-publish-docs.yml @@ -1,4 +1,4 @@ -name: Publish docs +name: Reusable Publish docs on: workflow_call: @@ -14,6 +14,10 @@ on: required: false default: "false" type: string + versionNumber: + required: false + default: "" + type: string secrets: token: required: true @@ -60,8 +64,14 @@ jobs: if: ${{ inputs.isRelease == 'true' }} run: | RELEASE_VERSION=$(echo ${{ github.ref_name }} | sed 's/v//') - echo "RELEASE_VERSION=${RELEASE_VERSION}" - echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV + EXPLICIT_RELEASE_VERSION=$(echo ${{ inputs.versionNumber }} | sed 's/v//') + if [ $EXPLICIT_RELEASE_VERSION != "" ]; then + echo "RELEASE_VERSION=${EXPLICIT_RELEASE_VERSION}" + echo "RELEASE_VERSION=${EXPLICIT_RELEASE_VERSION}" >> $GITHUB_ENV + else + echo "RELEASE_VERSION=${RELEASE_VERSION}" + echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV + fi # We run this step only when the workflow has been triggered by a PR merge # in this case we publish the docs to `/dev` - name: (Conditional) Set RELEASE_VERSION env var to `dev` From 67fd073b8881ee33e902037d04249e58b4bffb61 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Fri, 19 Aug 2022 16:53:30 +0200 Subject: [PATCH 5/6] fix: make sure reusable-publish-docs runs only when merged --- .github/workflows/on-merge-to-main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/on-merge-to-main.yml b/.github/workflows/on-merge-to-main.yml index 6663eac4b9..a0d754035d 100644 --- a/.github/workflows/on-merge-to-main.yml +++ b/.github/workflows/on-merge-to-main.yml @@ -18,6 +18,8 @@ jobs: secrets: token: ${{ secrets.GITHUB_TOKEN }} run-unit-tests: + needs: get_pr_details + if: ${{ needs.get_pr_details.outputs.prIsMerged == 'true' }} uses: ./.github/workflows/reusable-run-unit-tests.yml publish: needs: From d43dda04b8aa162875640543f686196aa12a9b57 Mon Sep 17 00:00:00 2001 From: Andrea Amorosi Date: Mon, 22 Aug 2022 13:14:52 +0200 Subject: [PATCH 6/6] Update .github/workflows/publish-docs-on-release.yml --- .github/workflows/publish-docs-on-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-docs-on-release.yml b/.github/workflows/publish-docs-on-release.yml index 95a400df04..7d5a4fdcc3 100644 --- a/.github/workflows/publish-docs-on-release.yml +++ b/.github/workflows/publish-docs-on-release.yml @@ -13,7 +13,7 @@ on: types: [released] jobs: - run-unit-tests: + publish-docs: uses: ./.github/workflows/reusable-publish-docs.yml with: workflow_origin: ${{ github.event.repository.full_name }}