name: Build and Deploy Hugo Site on: push: branches: - main jobs: build_and_deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2.4.0 # - name: env-yaml-file # uses: pietrobolcato/action-read-yaml@main # id: read_action_js # with: # config: ${{ github.workspace }}/deploy_env.yaml # env-var-prefix: myEnv - name: env-toml-file uses: SebRollen/toml-action@v1.2.0 id: read_toml with: file: 'hugo.toml' field: 'environment' - name: Echo environment run: echo "Environment is ${{ steps.read_toml.outputs.environment }}" # - name: Set up Go # uses: actions/setup-go@v5.0.0 # with: # go-version: '1.20.5' # - name: Cache Go modules # uses: actions/cache@v3 # with: # path: ~/go/pkg/mod # key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} # restore-keys: | # ${{ runner.os }}-go- # - name: Set up Node.js # uses: actions/setup-node@v4.0.2 # with: # node-version: '20' # cache: 'npm' # - name: Cache Node modules # uses: actions/cache@v3 # with: # path: ~/.npm # key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} # restore-keys: | # ${{ runner.os }}-node- # - name: Install PostCSS # run: | # npm install -g postcss postcss-cli # npm install autoprefixer # - name: Set up Hugo Extended # uses: peaceiris/actions-hugo@v3.0.0 # with: # hugo-version: '0.121.2' # extended: true # - name: Build Hugo site # run: hugo --minify - name: Setup rsync run: apt-get update && apt-get install -y rsync - name: Setup SSH Key uses: webfactory/ssh-agent@v0.5.3 with: ssh-private-key: ${{ secrets.VFO_SSH_KEY }} - name: Deploy to Development if: steps.read_toml.outputs.environment == 'development' run: echo "Running steps for Development Environment" - name: Deploy to Production if: steps.read_toml.outputs.environment == 'production' run: echo "Running steps for Production Environment" # - name: Deploy to Development # if: env.myEnv_env == 'development' # run: | # rsync -avz --delete ./public/ verua.info@verua.info:/preview.verua.info/ # env: # RSYNC_RSH: 'ssh -p 2121 -o StrictHostKeyChecking=no' # - name: Deploy to Production # if: env.myEnv_env == 'production' # run: | # rsync -avz --delete ./public/ verua.info@verua.info:/httpdocs/ # env: # RSYNC_RSH: 'ssh -p 2121 -o StrictHostKeyChecking=no'