MapComplete/.forgejo/workflows/deploy_single_theme.yml

62 lines
1.8 KiB
YAML

name: Deploy develop on theme.mapcomplete.org
on:
push:
branches:
- build/*
jobs:
deploy_on_hetzner_single:
runs-on: [ ubuntu-latest, hetzner-access ]
steps:
- uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "20"
cache: "npm"
cache-dependency-path: package-lock.json
- name: install deps
run: npm ci
shell: bash
- name: create generated dir
run: mkdir ./assets/generated
shell: bash
- name: create dependencies
run: npm run generate:licenses; npm run generate:images; npm run generate:charging-stations; npm run generate:service-worker; npm run download:editor-layer-index
shell: bash
- name: sync translations
run: npm run generate:translations
shell: bash
- name: Prepare build
run: |
BRANCH=${{ github.ref_name }}
THEME=${BRANCH:6}
npm run generate:service-worker && ./scripts/single_build.sh $THEME
shell: bash
- name: Zipping dist file
run: |
BRANCH=${{ github.ref_name }}
THEME=${BRANCH:6}
zip dist_$THEME.zip -r dist_$THEME/*
- name: uploading file
run: |
BRANCH=${{ github.ref_name }}
THEME=${BRANCH:6}
scp dist_$THEME.zip hetzner:/root/staging/dist_$THEME
- name: unzipping remote file
run: |
BRANCH=${{ github.ref_name }}
THEME=${BRANCH:6}
ssh hetzner "cd /root/staging && unzip dist_$THEME.zip && rm -rf /root/single_theme_builds/$THEME && mkdir -p /root/single_theme_builds/$THEME && mv /root/staging/$dist_$THEME/* /root/single_theme_builds/$THEME/ && rm dist_$THEME.zip && rmdir dist_$THEME/"