Files
homepage/.gitea/workflows/upload.yml
Alexander Bocken 1cec74fc78
All checks were successful
CI / update (push) Successful in 1m11s
fix: correct deployment workflow to force sync with remote
Fix the deployment script to properly force the remote server to always
match the git repository state, regardless of local changes.

Changes:
- Replace invalid `git pull --force` with proper fetch and reset
- Add `git remote set-url origin` to ensure correct URL with auth token
- Use `git fetch origin` to download latest changes
- Use `git reset --hard origin/master` to force match remote state

This ensures clean deployments even if there are local modifications or
conflicts on the remote server, while preserving untracked files like .env.
2026-01-02 21:46:37 +01:00

36 lines
1.1 KiB
YAML

name: CI
# Controls when the action will run.
on:
# Triggers the workflow on push to master (including merged PRs)
push:
branches: [ master ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
update:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Updating website.
uses: appleboy/ssh-action@master
with:
host: bocken.org
username: homepage
key: ${{ secrets.homepage_ssh }}
passphrase: ${{ secrets.homepage_pass }}
port: 22
script: |
cd /usr/share/webapps/homepage
git remote set-url origin https://Alexander:${{ secrets.homepage_gitea_token }}@git.bocken.org/Alexander/homepage
git fetch origin
git reset --hard origin/master
npm run build
sudo systemctl restart homepage.service