From bdcd76d5cde066c2813ea79cbd7ab3208d39f4e3 Mon Sep 17 00:00:00 2001 From: Ronnie Miller Date: Mon, 31 Mar 2025 10:18:46 -0700 Subject: [PATCH] docs: ensure asset paths update on draft rebuilds (#7355) --- .github/workflows/deploy-docs-draft.yml | 26 ++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-docs-draft.yml b/.github/workflows/deploy-docs-draft.yml index d41270bf9..a347bab49 100644 --- a/.github/workflows/deploy-docs-draft.yml +++ b/.github/workflows/deploy-docs-draft.yml @@ -138,6 +138,25 @@ jobs: aws configure set aws_secret_access_key ${{ secrets.DOCS_AWS_SECRET_ACCESS_KEY }} aws configure set region us-west-2 + - name: Check for New Assets + run: | + set -o pipefail + echo "Checking for new assets." |& tee -a $GITHUB_WORKSPACE/deploy.log + echo "aws s3 sync docs/build/assets/ s3://${{ vars.DOCS_DRAFT_S3_BUCKET_NAME }}/langflow-drafts/${{ steps.extract_branch.outputs.draft_directory }}/assets/ --size-only --dryrun --no-progress" | tee -a $GITHUB_WORKSPACE/deploy.log + aws s3 sync docs/build/assets/ "s3://${{ vars.DOCS_DRAFT_S3_BUCKET_NAME }}/langflow-drafts/${{ steps.extract_branch.outputs.draft_directory }}/assets/" --size-only --dryrun --no-progress | tee $GITHUB_WORKSPACE/assets.log + + - name: Determine Standard or Full Publish + id: check_full_publish + run: | + # Determine if a full publish is required because of new assets. + if grep -qE '(upload:|delete:)' "$GITHUB_WORKSPACE/assets.log"; then + echo "New assets. Perform full publish: true" | tee -a "$GITHUB_WORKSPACE/deploy.log" + echo "perform_full_publish=true" >> "$GITHUB_OUTPUT" + else + echo "No new assets. Perform full publish: false" | tee -a "$GITHUB_WORKSPACE/deploy.log" + echo "perform_full_publish=false" >> "$GITHUB_OUTPUT" + fi + - name: Deploy to S3 if: success() run: | @@ -154,14 +173,15 @@ jobs: s3_params=( # Hide upload progress for a cleaner sync log --no-progress - # Because the build will produce new timestamps - # on each build, sync files based on size. - --size-only --delete --exclude "*" --include "${{ steps.extract_branch.outputs.draft_directory }}/*" ) + if [[ "${{ steps.check_full_publish.outputs.perform_full_publish }}" == "false" ]]; then + s3_params+=(--size-only) + fi + echo "Deploying draft to S3." |& tee -a $GITHUB_WORKSPACE/deploy.log echo "aws s3 sync . s3://${{ vars.DOCS_DRAFT_S3_BUCKET_NAME }}/langflow-drafts ${s3_params[@]}" |& tee -a $GITHUB_WORKSPACE/deploy.log aws s3 sync . "s3://${{ vars.DOCS_DRAFT_S3_BUCKET_NAME }}/langflow-drafts" "${s3_params[@]}" |& tee -a $GITHUB_WORKSPACE/deploy.log