name: Deploy to GitHub Pages on: push: branches: 'main' jobs: build_site: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: npm cache-dependency-path: | gpx/package-lock.json website/package-lock.json - name: Install dependencies for gpx run: npm install --prefix gpx - name: Build gpx run: npm run build --prefix gpx - name: Install dependencies for website run: npm install --prefix website - name: Create env file run: | touch website/.env echo PUBLIC_MAPBOX_TOKEN=${{ secrets.PUBLIC_MAPBOX_TOKEN }} >> website/.env cat website/.env - name: Build website env: BASE_PATH: '' run: | npm run build --prefix website - name: Upload Artifacts uses: actions/upload-pages-artifact@v3 with: path: 'website/build/' deploy: needs: build_site runs-on: ubuntu-latest permissions: pages: write id-token: write environment: name: github-pages url: ${{ steps.deployment.outputs.page_url }} steps: - name: Deploy id: deployment uses: actions/deploy-pages@v4