name: On_Push on: push: branches: - 'main' # paths: # - src/**/* jobs: build: runs-on: docker steps: # get the repo first - uses: https://code.forgejo.org/actions/checkout@v4 # Make sure all files are pulled down - uses: https://forgejo.skynet.ie/Skynet/actions/get_lfs@v6 with: repository: ${{ gitea.repository }} ref_name: ${{ gitea.ref_name }} # Step 2: Install latest Hugo - name: Install Hugo run: | HUGO_VERSION=$(curl -s https://api.github.com/repos/gohugoio/hugo/releases/latest | grep -Po '"tag_name": "\K[^"]+' | sed 's/^v//') wget -q https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_Linux-amd64.deb dpkg -i ./hugo_extended_${HUGO_VERSION}_Linux-amd64.deb hugo version # Step 3: Ensure submodules or themes are initialized (only needed if your using github submodules for theme purposes) - name: Initialize Submodules run: git submodule update --init --recursive # Step 4: Set the correct URL for skynet - name: Set the site URL correctly run: sed -i "s%baseURL.*%baseURL='https://${{ env.GITHUB_REPOSITORY_OWNER }}.users.skynet.ie'%" hugo.toml && cat hugo.toml # Step 4: Build the Hugo site - name: Build Hugo site env: HUGO_ENV: production run: hugo --minify # Reduce resources by minifying content # Step 5: Deploy the /public directory to the server - uses: https://forgejo.skynet.ie/Skynet/actions/deploy_user@v6 with: ssh_key: ${{ secrets.SSH_KEY }} username: ${{ env.GITHUB_REPOSITORY_OWNER }} folder: "public" # uncomment below if you want to deploy to a subfolder #destination: "subfolder"