name: Documentation on: push: # For now, run on all commits to master branches: [ master ] # and also all tags starting with v tags: - 'v*' # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: build-client: name: "PhotonClient Build" defaults: run: working-directory: photon-client runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 18 - name: Install Dependencies run: npm ci - name: Build Production Client run: npm run build-demo - uses: actions/upload-artifact@v4 with: name: built-client path: photon-client/dist/ run_docs: runs-on: "ubuntu-22.04" steps: - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Fetch tags run: git fetch --tags --force - name: Install Java 17 uses: actions/setup-java@v3 with: java-version: 17 distribution: temurin - name: Build javadocs/doxygen run: | chmod +x gradlew ./gradlew docs:generateJavaDocs docs:doxygen - uses: actions/upload-artifact@v4 with: name: built-docs path: docs/build/docs release: needs: [build-client, run_docs] runs-on: ubuntu-22.04 steps: # Download literally every single artifact. - uses: actions/download-artifact@v4 - run: find . - name: copy file via ssh password uses: appleboy/scp-action@v0.1.7 with: host: ${{ secrets.WEBMASTER_SSH_HOST }} username: ${{ secrets.WEBMASTER_SSH_USERNAME }} password: ${{ secrets.WEBMASTER_SSH_KEY }} port: ${{ secrets.WEBMASTER_SSH_PORT }} source: "*" target: /var/www/html/photonvision-docs/