43 lines
1.7 KiB
YAML
43 lines
1.7 KiB
YAML
name: Publish new notes
|
|
run-name: Build in Quartz and push to Nginx
|
|
on: [push]
|
|
|
|
jobs:
|
|
build-quartz:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: node:24.2
|
|
steps:
|
|
- name: Grab local files
|
|
uses: actions/checkout@v4
|
|
- name: Clone local copy of Quartz
|
|
run: git clone https://k3gtpi.jumpingcrab.com/vlad/quartz-clone.git
|
|
- name: Copy notes to content directory
|
|
run: cp -r ./vlads-notes/* quartz-clone/content
|
|
- name: Build Quartz
|
|
run: cd quartz-clone && npm i && npx quartz create && npx quartz build
|
|
- name: Upload artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: content
|
|
path: quartz-clone/public
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
needs: build-quartz
|
|
steps:
|
|
- name: Get artifacts
|
|
uses: actions/download-artifact@v3
|
|
with:
|
|
name: content
|
|
path: ./content
|
|
- name: Install kubectl
|
|
run: curl -LO https://dl.k8s.io/release/v1.33.0/bin/linux/arm64/kubectl && chmod +x kubectl && mv kubectl /usr/bin
|
|
- name: Set up cluster access
|
|
run: mkdir ~/.kube && echo "${{ secrets.K8S_CONF }}" > ~/.kube/config
|
|
- name: Get target pods's name
|
|
run: echo "TARGET_POD=$(kubectl get pods -n my-stuff -l app=digital-garden -o json | jq -r .items[0].metadata.name)" >> "$GITHUB_ENV"
|
|
- name: Copy contents to pod temp folder (due to permission issues)
|
|
run: kubectl cp content my-stuff/$TARGET_POD:/tmp
|
|
- name: Change permissions and move files to WWW directory
|
|
run: kubectl exec -i -n my-stuff $TARGET_POD -- bash -c "chown -R 1000:1000 /tmp/content && rm -rf /www/data/* && mv /tmp/content/* /www/data"
|