aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yml2
-rw-r--r--CONTRIBUTING.md7
-rw-r--r--Dockerfile29
-rw-r--r--README.md8
-rwxr-xr-xscript/build.sh72
-rwxr-xr-xscript/docker-build.sh40
-rw-r--r--script/post-receive44
7 files changed, 6 insertions, 196 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 6fb2ce0..3ba5a7e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -83,4 +83,4 @@ jobs:
tar xzvf site.tar.gz
rm -rf ${{ secrets.DEST }}/*
cp -r _site/* ${{ secrets.DEST }}/
- rm -r _site
+ rm -r _site site.tar.gz
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ea4b1c7..f771f0e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,9 +1,8 @@
# Contributing
-In order to get started, you need to install [yarn](https://yarnpkg.com/),
-[git](https://git-scm.com/) (yeah, it's actually a dependency) and a proper ruby
-development environment (with bundler already installed). Then, you can simply
-fetch dependencies like so:
+In order to get started, you need to install [yarn](https://yarnpkg.com/), and a
+proper ruby development environment (with bundler already installed). Then, you
+can simply fetch dependencies like so:
```
$ yarn
diff --git a/Dockerfile b/Dockerfile
deleted file mode 100644
index ccae7b0..0000000
--- a/Dockerfile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright (C) 2019-2020 Miquel Sabaté Solà <mikisabate@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-FROM opensuse/leap:15.3
-MAINTAINER Miquel Sabaté Solà <mikisabate@gmail.com>
-
-RUN useradd --no-create-home --shell /dev/null --system nobody && \
- zypper ar -f -G obs://home:/mssola/openSUSE_Leap_15.3/ home:mssola && \
- zypper ar -f -G obs://devel:/languages:/ruby/openSUSE_Leap_15.3/ devel:languages:ruby && \
- zypper ar -f -G obs://devel:/languages:/nodejs/openSUSE_Leap_15.3/ devel:languages:nodejs && \
- zypper ref && \
- zypper -n in -t pattern devel_basis && \
- zypper -n in nodejs10 npm10 ruby3.0-devel libxslt-devel gcc-c++ glibc-locale git-core && \
- zypper -n in --from home:mssola yarn && \
- gem install bundler && \
- npm install -g webpack webpack-cli && \
- zypper clean -a
diff --git a/README.md b/README.md
index 32dd250..0f801cd 100644
--- a/README.md
+++ b/README.md
@@ -5,9 +5,5 @@
---
-My personal website.
-
-## License
-
-This project is licensed under the AGPLv3. See [LICENSE](./LICENSE) for the full
-license text.
+My personal website. This project is licensed under the AGPLv3. See
+[LICENSE](./LICENSE) for the full license text.
diff --git a/script/build.sh b/script/build.sh
deleted file mode 100755
index c6ec9fc..0000000
--- a/script/build.sh
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/env bash
-# Copyright (C) 2018-2020 Miquel Sabaté Solà <mikisabate@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-# You may want to set the following environment variables for this script:
-#
-# - BUILD_SOURCE: the directory where the source code is located.
-# - BUILD_DEST: the directory where the built files should go.
-# - USER: the user who should own the files.
-# - GROUP: the group who should own the files.
-
-set -ex
-
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )/.." && pwd )"
-pushd $DIR
-
-# Set UTF-8 for the build (Jekyll needs this).
-export LANG=en_US.UTF-8
-export LANGUAGE=en_US:en
-export LC_ALL=en_US.UTF-8
-
-# The build source and destination directories. This is done this way so we
-# can re-use this script when deploying.
-: ${BUILD_SOURCE:=.}
-: ${BUILD_DEST:=./_site}
-
-# JS dependencies.
-yarn --force
-yarn run webpack-single-shot
-
-# Build && test.
-bundle
-rm -rf $BUILD_DEST/*
-bundle exec jekyll build -s $BUILD_SOURCE -d $BUILD_DEST
-mkdir -p $BUILD_DEST/about $BUILD_DEST/en/about
-
-# Hack to fix some issues with the about page...
-cp $BUILD_DEST/about.html $BUILD_DEST/about/index.html
-cp $BUILD_DEST/en/about.html $BUILD_DEST/en/about/index.html
-
-bundle exec rubocop
-#bundle exec rake
-
-# Fix ownership of files if a given user was provided.
-if [ ! -z "$USER" ]; then
- chown -R $USER:$GROUP $BUILD_DEST
-fi
-
-# Nuke the source if specified (useful when the source was a temporary one).
-if [ "$NUKE" = "true" ]; then
- pushd $BUILD_SOURCE
- # See: https://unix.stackexchange.com/a/77313. We cannot remove the
- # directory directly, because then Docker might scream "Device busy", since
- # it's a shared volume.
- rm -Rf ..?* .[!.]* *
- popd
-fi
-
-set +x
-echo "Jekyll has built your application in '$BUILD_DEST'"
diff --git a/script/docker-build.sh b/script/docker-build.sh
deleted file mode 100755
index ce4e7f0..0000000
--- a/script/docker-build.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env bash
-# Copyright (C) 2019-2020 Miquel Sabaté Solà <mikisabate@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-set -ex
-
-# If the image does not exist, build it.
-IMGTAG=mssola/jo:latest
-[ ! -z $(docker images -q $IMGTAG) ] || docker build -t $IMGTAG .
-
-# The user which should own the produced files.
-user=$(id -u `whoami`)
-group=$(id -g `whoami`)
-
-# The -it flag should not be set on the post-receive hook because there's no TTY
-# there.
-IT="-it"
-if [ "$POST_RECEIVE" = "true" ]; then
- IT=
-fi
-
-# And now the call...
-docker run --rm $IT \
- -e BUILD_SOURCE=/src -e BUILD_DEST=/dest \
- -e BUNDLE_GEMFILE=/src/Gemfile -e USER=$user -e GROUP=$group \
- -e NODE_ENV=development -e NUKE=$NUKE \
- -v $BUILD_SOURCE:/src -v $BUILD_DEST:/dest \
- $IMGTAG /src/script/build.sh
diff --git a/script/post-receive b/script/post-receive
deleted file mode 100644
index c08265e..0000000
--- a/script/post-receive
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env bash
-# Copyright (C) 2018-2020 Miquel Sabaté Solà <mikisabate@gmail.com>
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-#
-# This script is based on the one from the documentation of Jekyll.
-#
-
-NAME=jo
-GIT_REPO=$HOME/$NAME.git
-TARGET_BRANCH=main
-
-# Exported so it's picked by the `script/docker-build.sh` script.
-export BUILD_SOURCE=$HOME/tmp/$NAME
-export BUILD_DEST=/srv/$NAME/www
-
-while read oldrev newrev refname
-do
- branch=$(git rev-parse --symbolic --abbrev-ref $refname)
- if [ -n "$branch" ] && [ "$TARGET_BRANCH" == "$branch" ]; then
- set -x
-
- # Re-generate git repository in a temporary directory.
- rm -Rf $BUILD_SOURCE
- git clone --branch $TARGET_BRANCH $GIT_REPO $BUILD_SOURCE
-
- # Build site
- chmod +x $BUILD_SOURCE/script/docker-build.sh
- cd $BUILD_SOURCE
- POST_RECEIVE=true NUKE=true $BUILD_SOURCE/script/docker-build.sh
- fi
-done