| 1 | # Installs Ghost with docker/setup.sh on a clean machine and drives it end to |
| 2 | # end, so no change to main quietly breaks self-hosting. |
| 3 | name: Self-host e2e |
| 4 | |
| 5 | on: |
| 6 | push: |
| 7 | branches: [main] |
| 8 | workflow_dispatch: |
| 9 | |
| 10 | concurrency: |
| 11 | group: self-host-e2e-${{ github.ref }} |
| 12 | cancel-in-progress: true |
| 13 | |
| 14 | jobs: |
| 15 | e2e: |
| 16 | runs-on: ubuntu-latest |
| 17 | timeout-minutes: 60 |
| 18 | steps: |
| 19 | - uses: actions/checkout@v4 |
| 20 | |
| 21 | - uses: actions/setup-node@v4 |
| 22 | with: |
| 23 | node-version: 22 |
| 24 | |
| 25 | - name: Install, then sign up, verify, push, merge and search |
| 26 | run: docker/test/e2e.sh |
| 27 | |
| 28 | # The importer sits behind a profile the install above leaves off, so its image is built here. |
| 29 | - name: Build the importer |
| 30 | run: docker build -f apps/importer/Dockerfile . |