Add Hagihub action recommendations #6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Docker Compose Builder Deploy gh-pages | |
| on: | |
| push: | |
| branches: | |
| - main | |
| workflow_dispatch: | |
| concurrency: | |
| group: docker-compose-builder-deploy-gh-pages | |
| cancel-in-progress: false | |
| permissions: | |
| contents: read | |
| env: | |
| NODE_VERSION: "20.19.0" | |
| BUILDER_GH_PAGES_PAYLOAD_DIR: .deploy/gh-pages | |
| jobs: | |
| build: | |
| name: Build validated builder snapshot | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ env.NODE_VERSION }} | |
| cache: npm | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build and verify builder | |
| run: npm run build | |
| - name: Assemble gh-pages publication payload | |
| run: | | |
| rm -rf "${BUILDER_GH_PAGES_PAYLOAD_DIR}" | |
| mkdir -p "${BUILDER_GH_PAGES_PAYLOAD_DIR}/dist" | |
| cp .github/gh-pages/esa.jsonc "${BUILDER_GH_PAGES_PAYLOAD_DIR}/esa.jsonc" | |
| cp -R dist/. "${BUILDER_GH_PAGES_PAYLOAD_DIR}/dist/" | |
| - name: Upload validated gh-pages payload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: docker-compose-builder-gh-pages-payload | |
| path: ${{ env.BUILDER_GH_PAGES_PAYLOAD_DIR }} | |
| if-no-files-found: error | |
| deploy: | |
| name: Publish validated snapshot to gh-pages | |
| runs-on: ubuntu-latest | |
| needs: build | |
| permissions: | |
| contents: write | |
| environment: | |
| name: builder-production | |
| url: https://builder.hagicode.com | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Download validated gh-pages payload | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: docker-compose-builder-gh-pages-payload | |
| path: .deploy/gh-pages | |
| - name: Publish validated gh-pages payload | |
| uses: peaceiris/actions-gh-pages@v4 | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| publish_branch: gh-pages | |
| publish_dir: ./.deploy/gh-pages | |
| force_orphan: true | |
| enable_jekyll: false | |
| - name: Summarize deployment output | |
| run: | | |
| echo "Published the validated gh-pages payload with ./esa.jsonc and ./dist/." >> "$GITHUB_STEP_SUMMARY" | |
| echo "The GitHub Actions deployment path is the only supported production publication flow." >> "$GITHUB_STEP_SUMMARY" | |
| echo "GitHub environment: builder-production" >> "$GITHUB_STEP_SUMMARY" | |
| echo "Expected public URL: https://builder.hagicode.com" >> "$GITHUB_STEP_SUMMARY" |