jjb: efficios-www: move to deb12 builders
[lttng-ci.git] / scripts / lttng-www / deploy.sh
CommitLineData
8a02037b
JR
1#!/bin/bash
2# shellcheck disable=SC2103
3#
4# Copyright (C) 2021 Jonathan Rajotte-Julien <jonathan.rajotte-julien@efficios.com>
5#
6# This program is free software: you can redistribute it and/or modify
7# it under the terms of the GNU General Public License as published by
8# the Free Software Foundation, either version 3 of the License, or
9# (at your option) any later version.
10#
11# This program is distributed in the hope that it will be useful,
12# but WITHOUT ANY WARRANTY; without even the implied warranty of
13# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14# GNU General Public License for more details.
15#
16# You should have received a copy of the GNU General Public License
17# along with this program. If not, see <http://www.gnu.org/licenses/>.
18
19set -exu
20
21# Add ssh key for deployment
4c61f7a4 22cp "$HOST_PUBLIC_KEYS" ~/.ssh/known_hosts
8a02037b
JR
23cp "$KEY_FILE_VARIABLE" ~/.ssh/id_rsa
24
25# lttng-www dependencies
3b6ded16 26export DPKG_FRONTEND=noninteractive
8a02037b
JR
27# Nodejs
28# Using Debian, as root
3b6ded16
KS
29apt-get update
30apt-get install -y nodejs npm
31apt-get install -y ruby ruby-bundler ruby-dev
94706d66
MJ
32ruby -v
33
3b6ded16 34apt-get install -y asciidoc xmlto python3 python3-pip doclifter
8a02037b
JR
35npm install -g grunt-cli
36npm install -g sass
37
3b6ded16 38bundle config set --local path "vendor/bundle"
de518de8 39
75816d87 40./bootstrap.sh
8a02037b 41
3b6ded16 42bundle exec grunt build:prod --network
ed870945
KS
43
44apt-get install -y linkchecker
45bundle exec grunt connect:prod watch:prod &
46SERVER_PID="${!}"
47sleep 10 # While serve:prod starts up
48OUTPUT_FILE="$(mktemp -d)/linkchecker-out.csv"
49chown nobody "$(dirname "${OUTPUT_FILE}")"
50# @Note: Only internal links are checked by default
51if ! linkchecker -q -F "csv/utf-8/${OUTPUT_FILE}" http://localhost:10000/ ; then
52 echo "Linkchecker failed or found broken links"
53 cat "${OUTPUT_FILE}"
54 kill "${SERVER_PID}"
55 rm -rf "${OUTPUT_FILE}/.."
56 sleep 5 # Let serve:prod stop
57 exit 1
58else
59 rm -rf "${OUTPUT_FILE}/.."
60 kill "${SERVER_PID}"
61fi
62
3b6ded16 63bundle exec grunt deploy:prod --network
8a02037b
JR
64
65# EOF
This page took 0.025514 seconds and 4 git commands to generate.