From 0fcf5e35b3c9fb614f08fd6b34fd5fec34eaec9c Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Thu, 9 Jul 2026 16:17:51 +0300 Subject: [PATCH 1/5] Reapply "Adds a docker variant for the dev environment, with live reload" This reverts commit 7003627dc758abef59e8b00b2637e494c65b6cf1. --- .dockerignore | 8 ++++++++ CONTRIBUTING.md | 15 +++++++++++---- Dockerfile | 22 ++++++++++++++++++++++ docker-compose.yml | 15 +++++++++++++++ 4 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000..666fd04e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,8 @@ +_site +.jekyll-cache +.jekyll-metadata +node_modules +vendor +.git +.github +tmp diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c3e1e229..10e547f8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,12 +1,19 @@ # Contributing -This is a Jekyll site. Ruby is therefore required. `asdf` users can run `asdf install` and be on their way. +This is a Jekyll site. You can run it either with Docker (recommended — no local Ruby/Node setup) or directly on your machine. -The site is bundled with `bundler 2.0.x`. Ensure you have the correct major version: `bundle --version`. +## Development with Docker -## Development +Requires Docker with Compose. -The standard Jekyll commands apply. +- To start, run `docker compose up` (add `--build` after Gemfile or package.json changes) +- The website will be available at `http://localhost:4000/` +- Edit any file and the website should reload automatically +- Stop: `docker compose down` + +## Development without Docker + +Ruby and Node are required. `asdf` users can run `asdf install` and be on their way. The site is bundled with `bundler 2.3.x` — ensure you have the correct major version: `bundle --version`. - Install dependencies: `bundle` and `npm install`. - Run a development server: `bundle exec jekyll server`. diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..adbdff30 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM node:16-bullseye-slim AS node + +FROM ruby:3.0.3-slim-bullseye + +COPY --from=node /usr/local/bin/node /usr/local/bin/node +COPY --from=node /usr/local/bin/npm /usr/local/bin/npm +COPY --from=node /usr/local/lib/node_modules /usr/local/lib/node_modules + +RUN apt-get update && apt-get install -y --no-install-recommends \ + build-essential \ + git \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app + +COPY Gemfile Gemfile.lock ./ +RUN bundle install + +COPY package.json package-lock.json ./ +RUN npm install + +CMD ["bundle", "exec", "jekyll", "server", "--host", "0.0.0.0", "--force_polling", "--livereload"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..ac1f1b15 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +services: + jekyll: + build: . + ports: + - "4000:4000" + - "35729:35729" + volumes: + - .:/app + - bundle_cache:/usr/local/bundle + - node_modules_cache:/app/node_modules + stdin_open: true + +volumes: + bundle_cache: + node_modules_cache: From c7283c5838c8c954e2346a90ad31a4133d629c82 Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Thu, 9 Jul 2026 16:26:17 +0300 Subject: [PATCH 2/5] Fix actions --- .github/workflows/jekyll.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index bd2761ef..08ba2fb1 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -21,8 +21,13 @@ jobs: cache: 'npm' - run: npm install + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{steps.versions.outputs.ruby}} + bundler-cache: true + - name: Build - uses: jerryjvl/jekyll-build-action@v1 + run: bundle exec jekyll build - name: Tailscale uses: tailscale/github-action@v2 From daf24aa2c0c957e4fdccba8a597bc7415684de2f Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Thu, 9 Jul 2026 16:35:26 +0300 Subject: [PATCH 3/5] Add workflow on PR to verify fixed build action --- .github/workflows/pr-build.yml | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 .github/workflows/pr-build.yml diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml new file mode 100644 index 00000000..79499be0 --- /dev/null +++ b/.github/workflows/pr-build.yml @@ -0,0 +1,36 @@ +# workflow to verify new jekyll.yml logic, to be removed +name: PR build (verify) + +on: + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Read .tool-versions + uses: marocchino/tool-versions-action@v1 + id: versions + + - uses: actions/setup-node@v3 + with: + node-version: ${{steps.versions.outputs.nodejs}} + cache: 'npm' + - run: npm install + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{steps.versions.outputs.ruby}} + bundler-cache: true + + - name: Build + run: bundle exec jekyll build + + - name: Upload site artifact + uses: actions/upload-artifact@v4 + with: + name: _site + path: _site/ + retention-days: 1 From e89844dcb71dd8e4a997f3d0874f2db61ea5deb7 Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Thu, 9 Jul 2026 16:41:36 +0300 Subject: [PATCH 4/5] Set JEKYLL_ENV --- .github/workflows/jekyll.yml | 2 ++ .github/workflows/pr-build.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml index 08ba2fb1..c83b823f 100644 --- a/.github/workflows/jekyll.yml +++ b/.github/workflows/jekyll.yml @@ -27,6 +27,8 @@ jobs: bundler-cache: true - name: Build + env: + JEKYLL_ENV: production run: bundle exec jekyll build - name: Tailscale diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 79499be0..6d089e5b 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -26,6 +26,8 @@ jobs: bundler-cache: true - name: Build + env: + JEKYLL_ENV: production run: bundle exec jekyll build - name: Upload site artifact From ad93cdd27f1b6a45b36f0735e6f022a5eb34f56e Mon Sep 17 00:00:00 2001 From: Artur Pata Date: Thu, 9 Jul 2026 17:43:48 +0300 Subject: [PATCH 5/5] Revert "Add workflow on PR to verify fixed build action" This reverts commit daf24aa2c0c957e4fdccba8a597bc7415684de2f. --- .github/workflows/pr-build.yml | 38 ---------------------------------- 1 file changed, 38 deletions(-) delete mode 100644 .github/workflows/pr-build.yml diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml deleted file mode 100644 index 6d089e5b..00000000 --- a/.github/workflows/pr-build.yml +++ /dev/null @@ -1,38 +0,0 @@ -# workflow to verify new jekyll.yml logic, to be removed -name: PR build (verify) - -on: - pull_request: - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Read .tool-versions - uses: marocchino/tool-versions-action@v1 - id: versions - - - uses: actions/setup-node@v3 - with: - node-version: ${{steps.versions.outputs.nodejs}} - cache: 'npm' - - run: npm install - - - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{steps.versions.outputs.ruby}} - bundler-cache: true - - - name: Build - env: - JEKYLL_ENV: production - run: bundle exec jekyll build - - - name: Upload site artifact - uses: actions/upload-artifact@v4 - with: - name: _site - path: _site/ - retention-days: 1