name: Build Repo Listing env: listPublishDirectory: Website pathToCi: ci on: workflow_dispatch: workflow_run: workflows: [Build Release] types: - completed release: types: [published, created, edited, unpublished, deleted, released] # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow one concurrent deployment concurrency: group: "pages" cancel-in-progress: true jobs: # Build the VPM Listing Website and deploy to GitHub Pages build-listing: name: build-listing environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} runs-on: ubuntu-latest steps: # Checkout Local Repository - name: Checkout Local Repository uses: actions/checkout@v4 # Checkout Automation Repository without removing prior checkouts - name: Checkout Automation Repository uses: actions/checkout@v4 with: repository: vrchat-community/package-list-action path: ${{ env.pathToCi }} clean: false # Load cached data from previous runs - name: Restore Cache uses: actions/cache@v4 with: path: | ${{ env.pathToCi }}/.nuke/temp ~/.nuget/packages key: ${{ runner.os }}-${{ hashFiles('**/global.json', '**/*.csproj') }} # Build Package Version Listing with Nuke - name: Build Package Version Listing run: ${{ env.pathToCi }}/build.cmd BuildRepoListing --root ${{ env.pathToCi }} --list-publish-directory $GITHUB_WORKSPACE/${{ env.listPublishDirectory }} --current-package-name ${{ vars.PACKAGE_NAME }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Prepare for GitHub Pages deployment - name: Setup Pages uses: actions/configure-pages@v5 # Upload the VPM Listing Website to GitHub Pages artifacts - name: Upload Pages Artifact uses: actions/upload-pages-artifact@v3 with: path: ${{ env.listPublishDirectory }} # Deploy the uploaded VPM Listing Website to GitHub Pages - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4