exchanged env variable evaluation for making the build dependent on the pushed branch using"github.ref == "
All checks were successful
Build and Deploy Hugo Site / buildAndDeploy (push) Successful in 52s

This commit is contained in:
Andreas Hnida 2024-07-29 12:51:59 +02:00
commit 27ae5bcb32

View file

@ -4,8 +4,7 @@ on:
push: push:
branches: branches:
- main - main
- kontaktformular-filter-spam - dev
env: env:
PROD_USER: verua.swiss PROD_USER: verua.swiss
@ -23,15 +22,15 @@ jobs:
steps: steps:
- uses: actions/checkout@v2.4.0 - uses: actions/checkout@v2.4.0
- name: env-toml-file # - name: env-toml-file
uses: SebRollen/toml-action@v1.2.0 # uses: SebRollen/toml-action@v1.2.0
id: read_toml # id: read_toml
with: # with:
file: 'hugo.toml' # file: 'hugo.toml'
field: 'params.environment' # field: 'params.environment'
- name: Echo environment # - name: Echo environment
run: echo "Environment is ${{ steps.read_toml.outputs.value }}" # run: echo "Environment is ${{ steps.read_toml.outputs.value }}"
- name: Set up Go - name: Set up Go
uses: actions/setup-go@v5.0.0 uses: actions/setup-go@v5.0.0
@ -68,7 +67,7 @@ jobs:
ssh-private-key: ${{ secrets.VFO_SSH_KEY }} ssh-private-key: ${{ secrets.VFO_SSH_KEY }}
- name: Deploy to Development - name: Deploy to Development
if: steps.read_toml.outputs.value == 'development' if: github.ref == 'refs/heads/dev'
run: | run: |
echo "Running steps for Development Environment" echo "Running steps for Development Environment"
echo "user: $DEV_USER host: $DEV_HOST path: $DEV_PATH" echo "user: $DEV_USER host: $DEV_HOST path: $DEV_PATH"
@ -77,9 +76,93 @@ jobs:
RSYNC_RSH: 'ssh -p ${{ secrets.SSH_PORT }} -o StrictHostKeyChecking=no' RSYNC_RSH: 'ssh -p ${{ secrets.SSH_PORT }} -o StrictHostKeyChecking=no'
- name: Deploy to Production - name: Deploy to Production
if: steps.read_toml.outputs.value == 'production' if: github.ref == 'refs/heads/main'
run: | run: |
echo "Running steps for Production Environment" echo "Running steps for Production Environment"
rsync -avz ./public/ $PROD_USER@$PROD_HOST:$PROD_PATH rsync -avz ./public/ $PROD_USER@$PROD_HOST:$PROD_PATH
env: env:
RSYNC_RSH: 'ssh -p ${{ secrets.SSH_PORT }} -o StrictHostKeyChecking=no' RSYNC_RSH: 'ssh -p ${{ secrets.SSH_PORT }} -o StrictHostKeyChecking=no'
# name: Build and Deploy Hugo Site
# on:
# push:
# branches:
# - main
# - kontaktformular-filter-spam
# env:
# PROD_USER: verua.swiss
# PROD_HOST: verua.swiss
# PROD_PATH: httpdocs
# DEV_USER: verua.info
# DEV_HOST: verua.info
# DEV_PATH: preview/httpdocs
# jobs:
# buildAndDeploy:
# env:
# RUNNER_TOOL_CACHE: /toolcache
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v2.4.0
# - name: env-toml-file
# uses: SebRollen/toml-action@v1.2.0
# id: read_toml
# with:
# file: 'hugo.toml'
# field: 'params.environment'
# - name: Echo environment
# run: echo "Environment is ${{ steps.read_toml.outputs.value }}"
# - name: Set up Go
# uses: actions/setup-go@v5.0.0
# with:
# go-version: '1.20.5'
# - name: Set up Node.js
# uses: actions/setup-node@v4.0.2
# with:
# node-version: '20'
# cache: 'npm'
# - name: Setup Project
# run: npm run project-setup
# - name: Install npm dependencies
# run: npm install
# - 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.value == 'development'
# run: |
# echo "Running steps for Development Environment"
# echo "user: $DEV_USER host: $DEV_HOST path: $DEV_PATH"
# rsync -avz ./public/ $DEV_USER@$DEV_HOST:$DEV_PATH
# env:
# RSYNC_RSH: 'ssh -p ${{ secrets.SSH_PORT }} -o StrictHostKeyChecking=no'
# - name: Deploy to Production
# if: steps.read_toml.outputs.value == 'production'
# run: |
# echo "Running steps for Production Environment"
# rsync -avz ./public/ $PROD_USER@$PROD_HOST:$PROD_PATH
# env:
# RSYNC_RSH: 'ssh -p ${{ secrets.SSH_PORT }} -o StrictHostKeyChecking=no'