diff --git a/.forgejo/workflows/hugo.yaml b/.forgejo/workflows/hugo.yaml new file mode 100644 index 0000000..8f75524 --- /dev/null +++ b/.forgejo/workflows/hugo.yaml @@ -0,0 +1,63 @@ +# deploy on branch (only on master and develop) +# on develop -> will deploy on develop.vmems.fr +# on master -> will deploy on vmems.fr +name: Deploy workflow + +on: + push: + branches: + - master + - develop + +jobs: + deploy: + runs-on: docker + container: + image: code.forgejo.org/oci/node:20-bookworm + steps: + - name: Set baseURL + shell: /bin/bash + run: | + if [[ "${{ env.github_ref_name }}" == "master" ]]; then + echo "Using master config" + echo -n "https://vmems.fr" > /base_url.txt + fi + if [[ "${{ env.github_ref_name }}" == "develop" ]]; then + echo "Using develop config" + echo -n "https://develop.vmems.fr" > /base_url.txt + fi + ls / + cat /base_url.txt + - name: Install rsync + run: apt update && apt install -y rsync + - uses: actions/checkout@v4 + with: + submodules: true + fetch-depth: 0 + - name: Setup Hugo + env: + HUGO_RELEASE_TYPE: extended + HUGO_VERSION: 0.120.3 + run: | + mkdir ~/hugo + cd ~/hugo + curl -L "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_${HUGO_RELEASE_TYPE}_${HUGO_VERSION}_Linux-64bit.tar.gz" --output hugo.tar.gz + tar -xvzf hugo.tar.gz + mv hugo /usr/local/bin + - name: Build + run: | + hugo --baseURL="$(cat /base_url.txt)" + - name: Create Key File + run: install -m 600 -D /dev/null ~/.ssh/id_edsa + - name: Populate Key + run: echo "${{ secrets.SRV06_DEPLOY_WEBSITE_SSH_KEY }}" > ~/.ssh/id_edsa + - name: Upload + env: + OUTPUT_PATH: "/warmd/mbess/websites/vmems/" + REMOTE_USER: forgejo_actions_websites + SRV_HOST: srv06.lefuturiste.fr + run: | + rsync --perms --archive --stats \ + -e 'ssh -i ~/.ssh/id_edsa -o StrictHostKeyChecking=no' ./public \ + $REMOTE_USER@$SRV_HOST:$OUTPUT_PATH$GITHUB_REF_NAME +