name: build-and-deploy on: push: branches: - main jobs: build: runs-on: 'linux_amd64' steps: - name: Checkout code uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Hugo run: | mkdir -p /tmp/bin wget https://github.com/gohugoio/hugo/releases/download/v0.121.1/hugo_extended_0.121.1_linux-amd64.tar.gz -P /tmp tar -xf /tmp/hugo_extended_0.121.1_linux-amd64.tar.gz -C /tmp/bin /tmp/bin/hugo version - name: Build site run: /tmp/bin/hugo --minify env: HUGO_ENV: production - name: Install Surfer CLI run: | mkdir -p /tmp/npm npm config set prefix '/tmp/npm' npm install -g cloudron-surfer - name: Deploy to Surfer run: | export PATH="/tmp/npm/bin:$PATH" if ! surfer put --token ${{ secrets.SURFER_TOKEN }} --server ${{ secrets.SURFER_SERVER }} public/* /; then echo "Deployment failed" exit 1 fi