forked from MapComplete/MapComplete
58 lines
1.6 KiB
YAML
58 lines
1.6 KiB
YAML
name: Deploy develop on dev.mapcomplete.org
|
|
on:
|
|
push
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
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 deploy
|
|
run: npm run prepare-deploy
|
|
shell: bash
|
|
|
|
- name: run tests
|
|
run: |
|
|
pwd
|
|
ls
|
|
# This is the same as `npm run test`, but `vitest` doesn't want to run within npm :shrug:
|
|
export NODE_OPTIONS="--max-old-space-size=8192"
|
|
npm run clean:tests
|
|
npm run generate:doctests 2>&1 | grep -v "No doctests found in"
|
|
vitest --run test
|
|
npm run clean:tests
|
|
shell: bash
|
|
|
|
- name: Upload artefact
|
|
run: |
|
|
ssh hetzner "mkdir -p /root/staging/${{ github.ref_name }}"
|
|
scp -r dist/* hetzner:/root/staging/${{ github.ref_name }}/
|
|
ssh hetzner "rm -rf /root/public/${{ github.ref_name }} && mv /root/staging/${{ github.ref_name }}/ /root/public/"
|
|
|
|
|
|
|