Add CI for build and deployment

This commit is contained in:
Emil Miler 2024-01-08 09:14:17 +01:00
parent 18e21f77ea
commit 656e242f81

View File

@ -0,0 +1,42 @@
name: Build
on:
push:
branches:
- master
env:
HOST: ${{ secrets.SSH_HOSTNAME }}
HOST_DIR: ${{ secrets.SSH_TARGET_DIR }}
SSH_USERNAME: ${{ secrets.SSH_USERNAME }}
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Dependencies
run: |
apt update -y
apt-get install -y --no-install-recommends \
cpanminus ghostscript make rsync \
libpdf-api2-perl libimage-info-perl
- name: Install Chordpro
run: cpanm install chordpro
- name: Build
run: make
- name: Deploy
run: |
apt-get install -y --no-install-recommends rsync
eval "$(ssh-agent -s)"
ssh-add - <<< "${SSH_PRIVATE_KEY}"
mkdir -p ~/.ssh/
ssh-keyscan -H "${HOST}" >> ~/.ssh/known_hosts
rsync -ra --delete-after ./* "${SSH_USERNAME}@${HOST}:${HOST_DIR}"