name: Website on: push: pull_request: jobs: rsync: name: Build and Sync Files runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Install pnpm uses: pnpm/action-setup@v5 with: version: 10 - uses: actions/setup-node@v6 with: node-version: 24 cache: pnpm cache-dependency-path: website/pnpm-lock.yaml - name: Install packages run: pnpm i --frozen-lockfile working-directory: website - name: Build project run: pnpm run build working-directory: website - uses: up9cloud/action-rsync@v1.4 if: github.ref == 'refs/heads/main' env: HOST: ${{ secrets.WEBMASTER_SSH_HOST }} USER: ${{ secrets.WEBMASTER_SSH_USERNAME }} KEY: ${{secrets.WEBMASTER_SSH_KEY}} SOURCE: website/dist/* TARGET: /var/www/html/photonvision-website format-check: name: Check Formatting defaults: run: working-directory: website runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@v5 with: version: 10 - uses: actions/setup-node@v6 with: node-version: 24 cache: pnpm cache-dependency-path: website/pnpm-lock.yaml - name: Install Packages run: pnpm i --frozen-lockfile - run: | set +e pnpm run format-ci exit_code=$? if test "$exit_code" -ne "0"; then echo "::error ::Linting failed. See https://docs.photonvision.org/en/latest/docs/contributing/linting.html" fi exit $exit_code