Add deployment workflow #7
1 changed files with 54 additions and 18 deletions
|
@ -20,24 +20,60 @@ jobs:
|
|||
# Hack to set the cache in the working directory
|
||||
HOME="$GITHUB_WORKSPACE" nix-build dgnum.eu
|
||||
|
||||
- name: Clone dgnum.eu pages
|
||||
run: |
|
||||
git clone https://codeberg.org/DGNum/pages
|
||||
|
||||
- name: Update assets
|
||||
run: |
|
||||
cp -R --no-preserve=mode,ownership,timestamps result/* pages/
|
||||
|
||||
# - name: Clone dgnum.eu pages
|
||||
# run: |
|
||||
# git clone https://codeberg.org/DGNum/pages
|
||||
#
|
||||
- name: Push new website
|
||||
id: push_directory
|
||||
uses: https://github.com/cpina/github-action-push-to-another-repository@main
|
||||
run: |
|
||||
HOME="$GITHUB_WORKSPACE"
|
||||
|
||||
echo "[+] Using SSH_DEPLOY_KEY"
|
||||
|
||||
# Setup deploy key
|
||||
DEPLOY_KEY_FILE="$HOME/.ssh/deploy_key"
|
||||
mkdir .ssh
|
||||
echo "${SSH_DEPLOY_KEY}" > "$DEPLOY_KEY_FILE"
|
||||
chmod 600 "$DEPLOY_KEY_FILE"
|
||||
|
||||
# Setup known hosts
|
||||
KNOWN_HOSTS_FILE="$HOME/.ssh/known_hosts"
|
||||
ssh-keyscan -H codeberg.org > "$KNOWN_HOSTS_FILE"
|
||||
|
||||
export GIT_SSH_COMMAND="ssh -i $DEPLOY_KEY_FILE -o UserKnownHostsFile=$SSH_KNOWN_HOSTS_FILE"
|
||||
GIT_CMD_REPOSITORY="git@codeberg.org:DGNum/$GIT_REPOSITORY.git"
|
||||
|
||||
echo "[+] Cloning remote repository"
|
||||
git clone --single-branch --depth 1 --branch main "$GIT_CMD_REPOSITORY" "$GIT_REPOSITORY"
|
||||
|
||||
git config --global user.email "$GIT_USER_EMAIL"
|
||||
git config --global user.name "$GIT_USER_NAME"
|
||||
|
||||
echo "[+] Updating assets"
|
||||
rm -r "$GIT_REPOSITORY/*"
|
||||
|
||||
# Update assets
|
||||
cp -R --no-preserve=mode,ownership,timestamps result/* "$GIT_REPOSITORY/"
|
||||
cd "$GIT_REPOSITORY"
|
||||
|
||||
echo "[+] Creating commit"
|
||||
ORIGIN_COMMIT="https://$GIT_ORIGIN_SERVER/$GITHUB_REPOSITORY/commit/$GITHUB_SHA"
|
||||
git add .
|
||||
git diff-index --quiet HEAD || git commit --message "Automatic pages update"
|
||||
|
||||
echo "[+] Pushing update"
|
||||
git push "$GIT_CMD_REPOSITORY" --set-upstream main
|
||||
env:
|
||||
SSH_DEPLOY_KEY: ${{ secrets.SSH_DEPLOY_KEY }}
|
||||
with:
|
||||
github-server: codeberg.org
|
||||
source-directory: pages/
|
||||
destination-github-username: 'DGNum'
|
||||
destination-repository-name: 'pages-test'
|
||||
user-email: tom.hubrecht@dgnum.eu
|
||||
commit-message: See ORIGIN_COMMIT from $GITHUB_REF
|
||||
target-branch: main
|
||||
GIT_REPOSITORY: pages-test
|
||||
GIT_USER_EMAIL: automated-update@dgnum.eu
|
||||
GIT_USER_NAME: Forgejo Action
|
||||
GIT_ORIGIN_SERVER: git.hubrecht.ovh
|
||||
# with:
|
||||
# github-server: codeberg.org
|
||||
# source-directory: pages/
|
||||
# destination-github-username: 'DGNum'
|
||||
# destination-repository-name: 'pages-test'
|
||||
# user-email: tom.hubrecht@dgnum.eu
|
||||
# commit-message: See ORIGIN_COMMIT from $GITHUB_REF
|
||||
# target-branch: main
|
||||
|
|
Loading…
Reference in a new issue