name: Build and Deploy Hugo Website on: workflow_dispatch: push: branches: main schedule: - cron: "21 14 * * *" concurrency: cancel-in-progress: true defaults: run: shell: bash jobs: build_and_publish: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 with: submodules: true fetch-depth: 0 - name: Git submodule update run: | git pull --recurse-submodules git submodule update --remote --recursive - name: Setup Hugo env: HUGO_VERSION: 0.105.0 run: | curl -L "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_VERSION}_Linux-64bit.tar.gz" --output hugo.tar.gz tar -xvzf hugo.tar.gz sudo mv hugo /usr/local/bin - name: Build Hugo Website id: build run: | hugo - name: Install SSH Key run: | install -m 600 -D /dev/null ~/.ssh/id_rsa echo "${{ secrets.BUILD_SSH_KEY }}" > ~/.ssh/id_rsa echo "${{ secrets.HOST_KEY }}" > ~/.ssh/known_hosts echo "Host brandonrozek.com Hostname brandonrozek.com user build IdentityFile ~/.ssh/id_rsa" > ~/.ssh/config - name: Deploy run: ./deploy.sh