name: Release docs on: # Runs when manually triggered from the GitHub UI. workflow_dispatch: # Runs when invoked by another workflow. workflow_call: permissions: contents: read env: NODE_VERSION: 22 PYTHON_VERSION: 3.14 jobs: release_docs: name: Release docs environment: name: github-pages permissions: contents: write pages: write id-token: write runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v6 with: token: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }} - name: Set up Node uses: actions/setup-node@v6 with: node-version: ${{ env.NODE_VERSION }} - name: Set up Python uses: actions/setup-python@v6 with: python-version: ${{ env.PYTHON_VERSION }} - name: Set up uv package manager uses: astral-sh/setup-uv@v7 with: python-version: ${{ env.PYTHON_VERSION }} - name: Install Python dependencies run: uv run poe install-dev - name: Install pnpm and website dependencies uses: apify/actions/pnpm-install@v1.1.2 with: working-directory: website - name: Build Docusaurus docs run: uv run poe build-docs env: APIFY_SIGNING_TOKEN: ${{ secrets.APIFY_SIGNING_TOKEN }} SEGMENT_TOKEN: ${{ secrets.SEGMENT_TOKEN }} - name: Set up GitHub Pages uses: actions/configure-pages@v6 - name: Upload GitHub Pages artifact uses: actions/upload-pages-artifact@v4 with: path: ./website/build - name: Deploy artifact to GitHub Pages uses: actions/deploy-pages@v5 - name: Invalidate CloudFront cache run: | gh workflow run invalidate-cloudfront.yml \ --repo apify/apify-docs-private \ --field deployment=crawlee-web echo "✅ CloudFront cache invalidation workflow triggered successfully" env: GITHUB_TOKEN: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }}