name: Deploy Docusaurus to GitHub Pages on: push: branches: [main] paths: ['docs/**'] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages permissions: contents: read pages: write id-token: write # Allow only one concurrent deployment concurrency: group: "pages" cancel-in-progress: true jobs: build: name: Deploy Docusaurus runs-on: ubuntu-latest defaults: run: working-directory: ./docs steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 18 cache: npm cache-dependency-path: ./docs/package-lock.json - name: Install dependencies run: npm ci - name: Copy screenshots to static directory run: | npm run prepare-screenshots # Ensure the images referenced in the docs are definitely available mkdir -p static/img cp -v ../screenshots/dashboard.gomft.png static/img/ cp -v ../screenshots/transfer.config.gomft.png static/img/ ls -la static/img/dashboard.gomft.png static/img/transfer.config.gomft.png - name: Fix Markdown image paths run: npm run fix-image-paths - name: Verify screenshots exist run: | echo "Checking if screenshots were copied correctly..." if [ -f "static/img/dashboard.gomft.png" ]; then echo "✅ Found dashboard.gomft.png in static/img/" else echo "❌ Missing dashboard.gomft.png in static/img/" exit 1 fi if [ -f "static/img/transfer.config.gomft.png" ]; then echo "✅ Found transfer.config.gomft.png in static/img/" else echo "❌ Missing transfer.config.gomft.png in static/img/" exit 1 fi - name: Build run: npm run build - name: Setup Pages uses: actions/configure-pages@v4 - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: ./docs/build - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4