name: Deploy develop on dev.mapcomplete.org on: push: branches-ignore: - build/* pull_request: jobs: deploy_on_hosted: 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: npm run generate:service-worker && ./scripts/prepare-build.sh shell: bash - name: Run tests run: | # 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: Build files run: npm run build - name: Zipping dist file run: | mv dist ${{ github.ref_name }} zip ${{ github.ref_name }}.zip -r ${{ github.ref_name }}/* - name: uploading file run: scp ${{ github.ref_name }}.zip hetzner:/root/staging/ - name: unzipping remote file run: ssh hetzner "cd /root/staging && unzip ${{ github.ref_name }}.zip && rm -rf /root/public/${{ github.ref_name }} && mv /root/staging/${{ github.ref_name }}/ /root/public/ && rm ${{ github.ref_name }}.zip"