mirror of
https://git.fsfe.org/FSFE/fsfe-local-build.git
synced 2026-04-21 03:43:05 +02:00
Compare commits
2 Commits
master
...
docker-dev
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fdb8e1924a | ||
|
|
f556ac87f3 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,7 +5,6 @@ fsfe.org
|
|||||||
fsfe-website
|
fsfe-website
|
||||||
|
|
||||||
lighttpd-fsfe*.log
|
lighttpd-fsfe*.log
|
||||||
php-errors.log
|
|
||||||
|
|
||||||
# ignore everything in fsfe.org/ and status/ but keep the folders
|
# ignore everything in fsfe.org/ and status/ but keep the folders
|
||||||
fsfe.org/*
|
fsfe.org/*
|
||||||
|
|||||||
@@ -10,10 +10,14 @@ RUN apk add --no-cache \
|
|||||||
libxml2-utils \
|
libxml2-utils \
|
||||||
libxslt \
|
libxslt \
|
||||||
make \
|
make \
|
||||||
|
nodejs \
|
||||||
|
nodejs-npm \
|
||||||
procps \
|
procps \
|
||||||
python3 \
|
python3 \
|
||||||
rsync
|
rsync
|
||||||
|
|
||||||
|
RUN npm install -g less
|
||||||
|
|
||||||
RUN mkdir -p /fsfe-local-build/fsfe.org
|
RUN mkdir -p /fsfe-local-build/fsfe.org
|
||||||
|
|
||||||
EXPOSE 8000
|
EXPOSE 8000
|
||||||
|
|||||||
@@ -1,27 +1,31 @@
|
|||||||
#!/usr/bin/env bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
# Copyright (C) 2019 Michael Weimann <mweimann@fsfe.org>
|
# Copyright (C) 2019 Michael Weimann <mweimann@fsfe.org>
|
||||||
########################################################################
|
########################################################################
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
# the Free Software Foundation, either version 3 of the License, or
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
# (at your option) any later version.
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
########################################################################
|
########################################################################
|
||||||
#
|
#
|
||||||
# This script is executed in docker CMD.
|
# This script is executed in docker CMD.
|
||||||
#
|
#
|
||||||
#######################################################################
|
#######################################################################
|
||||||
|
|
||||||
|
# Set up the less watcher
|
||||||
|
cd /fsfe-local-build
|
||||||
|
sh less-watch.sh &
|
||||||
|
|
||||||
# Run the preview server
|
# Run the preview server
|
||||||
cd /fsfe-local-build/fsfe.org
|
cd /fsfe-local-build/fsfe.org
|
||||||
python3 -m http.server
|
python3 -m http.server
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
# Copyright (C) 2019 Michael Weimann <mweimann@fsfe.org>
|
# Copyright (C) 2019 Michael Weimann <mweimann@fsfe.org>
|
||||||
########################################################################
|
########################################################################
|
||||||
|
|||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# =============================================================================
|
|
||||||
# Start a build of the fsfe-website checkout in the current working directory
|
|
||||||
# =============================================================================
|
|
||||||
# SPDX-FileCopyrightText: © 2020, 2021 Reinhard Müller <reinhard@fsfe.org>
|
|
||||||
# SPDX-License-Identifier: WTFPL
|
|
||||||
# =============================================================================
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Find out fsfe-website directory
|
|
||||||
gitdir="$(git rev-parse --show-toplevel)"
|
|
||||||
|
|
||||||
# Find out fsfe-local-build directory
|
|
||||||
builddir="$(dirname "$(readlink -f "$0")")"
|
|
||||||
|
|
||||||
# Start the build
|
|
||||||
echo "Building from ${gitdir} into ${builddir}/fsfe.org"
|
|
||||||
case "$1" in
|
|
||||||
--full|-f)
|
|
||||||
"${gitdir}/build/build_main.sh" build_into "${builddir}/fsfe.org" --statusdir "${builddir}/fsfe.org/status.fsfe.org/fsfe.org"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
"${gitdir}/build/build_main.sh" build_run "${builddir}/fsfe.org" --statusdir "${builddir}/fsfe.org/status.fsfe.org/fsfe.org"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/bin/bash
|
||||||
########################################################################
|
########################################################################
|
||||||
# Copyright (C) 2016 Max Mehl <max.mehl@fsfe.org>
|
# Copyright (C) 2016 Max Mehl <max.mehl@fsfe.org>
|
||||||
########################################################################
|
########################################################################
|
||||||
@@ -130,11 +130,11 @@ for ((i=1; i <= $numargs; i++)); do
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# TEST if a DEV Git directory is used. If yes, copy clean file to this Dir
|
# TEST if a DEV SVN directory is used. If yes, copy clean file to this Dir
|
||||||
if [ "$LOC_trunk_dev" != "" ]; then
|
if [ "$LOC_trunk_dev" != "" ]; then
|
||||||
SRC_full_dev=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_trunk_dev|")
|
SRC_full_dev=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_trunk_dev|")
|
||||||
echo_INFO "A \"dirty\" Development Git directory ($LOC_trunk_dev) is being used. Copy file from clean Git directory ($LOC_trunk) to Development directory..."
|
echo_INFO "A \"dirty\" Development SVN directory ($LOC_trunk_dev) is being used. Copy file from clean SVN directory ($LOC_trunk) to Development directory..."
|
||||||
cp $SRC_full $SRC_full_dev # copy file from clean Git to dev/dirty Git
|
cp $SRC_full $SRC_full_dev # copy file from clean SVN to dev/dirty SVN
|
||||||
SRC_full=$SRC_full_dev
|
SRC_full=$SRC_full_dev
|
||||||
LOC_trunk=$LOC_trunk_dev
|
LOC_trunk=$LOC_trunk_dev
|
||||||
fi
|
fi
|
||||||
@@ -142,14 +142,7 @@ for ((i=1; i <= $numargs; i++)); do
|
|||||||
echo_INFO "Using file $SRC_full as source..."
|
echo_INFO "Using file $SRC_full as source..."
|
||||||
|
|
||||||
### TRANSFORM XHTML file path
|
### TRANSFORM XHTML file path
|
||||||
DST_full=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_out|") # replace Git directory by build/HTTP destination
|
DST_full=$(echo $SRC_full | sed -E "s|$LOC_trunk|$LOC_out|") # replace SVN directory by build/HTTP destination
|
||||||
|
|
||||||
### Create destination directory if necessary
|
|
||||||
DST_full_dir="$(dirname $DST_full)"
|
|
||||||
if [ ! -e "$DST_full_dir" ]; then
|
|
||||||
echo_INFO "Creating destination directory $DST_full_dir"
|
|
||||||
mkdir -p "$DST_full_dir"
|
|
||||||
fi
|
|
||||||
|
|
||||||
### BUILD/COPY FILE depending on file extension
|
### BUILD/COPY FILE depending on file extension
|
||||||
ftype=${SRC_full##*.} # get extension of file
|
ftype=${SRC_full##*.} # get extension of file
|
||||||
@@ -166,8 +159,8 @@ for ((i=1; i <= $numargs; i++)); do
|
|||||||
$LOC_trunk/build/build_main.sh process_file $SRC_full > $DST_full
|
$LOC_trunk/build/build_main.sh process_file $SRC_full > $DST_full
|
||||||
|
|
||||||
else # just copy file
|
else # just copy file
|
||||||
echo_INFO "File type ($ftype) is detected as not to be built. Just linking it to $DST_full ..."
|
echo_INFO "File type ($ftype) is detected as not to be built. Just copying it to $DST_full ..."
|
||||||
ln -sf $SRC_full $DST_full
|
cp $SRC_full $DST_full
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -180,7 +173,7 @@ for ((i=1; i <= $numargs; i++)); do
|
|||||||
echo_INFO "$HTTPD webserver already seems to be running."
|
echo_INFO "$HTTPD webserver already seems to be running."
|
||||||
fi
|
fi
|
||||||
elif [ "$HTTPD" == "lighttpd" ]; then
|
elif [ "$HTTPD" == "lighttpd" ]; then
|
||||||
if [ ! $(pgrep -f "lighttpd.*${HTTPD_conf}") ]; then # lighttpd
|
if [ ! $(pgrep lighttpd) ]; then # lighttpd
|
||||||
echo_INFO "Starting $HTTPD webserver"
|
echo_INFO "Starting $HTTPD webserver"
|
||||||
/usr/sbin/lighttpd -f "$HTTPD_conf"
|
/usr/sbin/lighttpd -f "$HTTPD_conf"
|
||||||
else
|
else
|
||||||
|
|||||||
31
less-watch.sh
Executable file
31
less-watch.sh
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
########################################################################
|
||||||
|
# Copyright (C) 2019 Michael Weimann <mweimann@fsfe.org>
|
||||||
|
########################################################################
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
########################################################################
|
||||||
|
#
|
||||||
|
# This script sets up a watcher that re-compiles the fsfe website
|
||||||
|
# styles on changes.
|
||||||
|
#
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
while inotifywait \
|
||||||
|
-r -e close_write -e create -e moved_to \
|
||||||
|
--exclude '\.(swx|swp|min\.css)' fsfe-website/look; do
|
||||||
|
lessc -x fsfe-website/look/fsfe.less fsfe-website/look/fsfe.min.css;
|
||||||
|
done
|
||||||
|
|
||||||
Reference in New Issue
Block a user