Skip to content

Commit 9efc45d

Browse files
authored
Merge pull request #2416 from openwebwork/WeBWorK-2.19
WeBWorK 2.19 Release Candidate
2 parents 2ff9800 + 73f2cae commit 9efc45d

File tree

710 files changed

+106610
-65746
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

710 files changed

+106610
-65746
lines changed

.editorconfig

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
max_line_length = 120
8+
trim_trailing_whitespace = true
9+
indent_style = tab
10+
indent_size = 4
11+
12+
[*.yml]
13+
indent_style = space
14+
indent_size = 2
15+
16+
[*.pg]
17+
trim_trailing_whitespace = false

.github/workflows/check-formats.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
---
2+
name: Check Formatting of Code Base
3+
4+
defaults:
5+
run:
6+
shell: bash
7+
8+
on:
9+
push:
10+
branches-ignore: [main, develop]
11+
pull_request:
12+
13+
jobs:
14+
perltidy:
15+
name: Check Perl file formatting with perltidy
16+
runs-on: ubuntu-22.04
17+
container:
18+
image: perl:5.34
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
- name: Install dependencies
23+
run: cpanm -n Perl::Tidy@20220613
24+
- name: Run perltidy
25+
shell: bash
26+
run: |
27+
git config --global --add safe.directory "$GITHUB_WORKSPACE"
28+
shopt -s extglob globstar nullglob
29+
perltidy --pro=./.perltidyrc -b -bext='/' ./**/*.p[lm] ./**/*.t && git diff --exit-code
30+
31+
prettier:
32+
name: Check JavaScript, style, and HTML file formatting with prettier
33+
runs-on: ubuntu-22.04
34+
steps:
35+
- name: Checkout code
36+
uses: actions/checkout@v4
37+
- name: Install Node
38+
uses: actions/setup-node@v4
39+
with:
40+
node-version: '20'
41+
- name: Install Dependencies
42+
run: cd htdocs && npm ci --ignore-scripts
43+
- name: Check formatting with prettier
44+
run: cd htdocs && npm run prettier-check

.github/workflows/linter.yml

Lines changed: 0 additions & 32 deletions
This file was deleted.

.prettierrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"arrowParens": "always",
3+
"bracketSpacing": true,
4+
"printWidth": 120,
5+
"semi": true,
6+
"singleQuote": true,
7+
"trailingComma": "none"
8+
}

Dockerfile

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ RUN echo Cloning branch $PG_BRANCH branch from $PG_GIT_URL \
3030

3131
# We need to change FROM before setting the ENV variables.
3232

33-
FROM ubuntu:22.04
33+
FROM ubuntu:24.04
3434

3535
ENV WEBWORK_URL=/webwork2 \
3636
WEBWORK_ROOT_URL=http://localhost::8080 \
@@ -71,6 +71,7 @@ RUN apt-get update \
7171
imagemagick \
7272
iputils-ping \
7373
jq \
74+
libarchive-extract-perl \
7475
libarchive-zip-perl \
7576
libarray-utils-perl \
7677
libc6-dev \
@@ -94,9 +95,11 @@ RUN apt-get update \
9495
libextutils-helpers-perl \
9596
libextutils-installpaths-perl \
9697
libextutils-xsbuilder-perl \
98+
libfile-copy-recursive-perl \
9799
libfile-find-rule-perl-perl \
98100
libfile-sharedir-install-perl \
99101
libfuture-asyncawait-perl \
102+
libgd-barcode-perl \
100103
libgd-perl \
101104
libhtml-scrubber-perl \
102105
libhtml-template-perl \
@@ -107,10 +110,9 @@ RUN apt-get update \
107110
libjson-perl \
108111
libjson-xs-perl \
109112
liblocale-maketext-lexicon-perl \
110-
libmail-sender-perl \
111-
libmail-sender-perl \
112113
libmariadb-dev \
113114
libmath-random-secure-perl \
115+
libmime-base32-perl \
114116
libmime-tools-perl \
115117
libminion-backend-sqlite-perl \
116118
libminion-perl \
@@ -124,13 +126,12 @@ RUN apt-get update \
124126
libnet-oauth-perl \
125127
libossp-uuid-perl \
126128
libpadwalker-perl \
129+
libpandoc-wrapper-perl \
127130
libpath-class-perl \
128131
libpath-tiny-perl \
129-
libpandoc-wrapper-perl \
130132
libphp-serialization-perl \
131133
libpod-wsdl-perl \
132134
libsoap-lite-perl \
133-
libsql-abstract-classic-perl \
134135
libsql-abstract-perl \
135136
libstring-shellquote-perl \
136137
libsub-uplevel-perl \
@@ -176,15 +177,19 @@ RUN apt-get update \
176177
texlive-xetex \
177178
tzdata \
178179
zip $ADDITIONAL_BASE_IMAGE_PACKAGES \
179-
&& curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \
180+
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
180181
&& apt-get install -y --no-install-recommends --no-install-suggests nodejs \
181182
&& apt-get clean \
182183
&& rm -fr /var/lib/apt/lists/* /tmp/*
183184

184185
# ==================================================================
185186
# Phase 4 - Install additional Perl modules from CPAN that are not packaged for Ubuntu or are outdated in Ubuntu.
186187

187-
RUN cpanm install Statistics::R::IO DBD::MariaDB Mojo::[email protected] Perl::Tidy@20220613 \
188+
RUN cpanm install -n \
189+
Statistics::R::IO \
190+
DBD::MariaDB \
191+
Perl::Tidy@20220613 \
192+
Archive::Zip::SimpleZip \
188193
&& rm -fr ./cpanm /root/.cpanm /tmp/*
189194

190195
# ==================================================================
@@ -211,7 +216,7 @@ COPY --from=base /opt/base/pg $APP_ROOT/pg
211216
# 7. Apply patches
212217

213218
# Patch files that are applied below
214-
COPY docker-config/imagemagick-allow-pdf-read.patch /tmp
219+
COPY docker-config/pgfsys-dvisvmg-bbox-fix.patch /tmp
215220

216221
RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
217222
&& mkdir /run/webwork2 /etc/ssl/local \
@@ -228,8 +233,8 @@ RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
228233
&& npm install \
229234
&& cd $PG_ROOT/htdocs \
230235
&& npm install \
231-
&& patch -p1 -d / < /tmp/imagemagick-allow-pdf-read.patch \
232-
&& rm /tmp/imagemagick-allow-pdf-read.patch
236+
&& patch -p1 -d / < /tmp/pgfsys-dvisvmg-bbox-fix.patch \
237+
&& rm /tmp/pgfsys-dvisvmg-bbox-fix.patch
233238

234239
# ==================================================================
235240
# Phase 7 - Final setup and prepare docker-entrypoint.sh

DockerfileStage1

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This is the Stage 1 Dockerfile, which builds a base OS image (webwork-base)
22
# on top of which the WeBWorK parts will be installed by the Stage 2 Dockerfile.
33

4-
FROM ubuntu:22.04
4+
FROM ubuntu:24.04
55

66
# ==================================================================
77
# Phase 1 - Set base OS image install stage ENV variables
@@ -33,6 +33,7 @@ RUN apt-get update \
3333
imagemagick \
3434
iputils-ping \
3535
jq \
36+
libarchive-extract-perl \
3637
libarchive-zip-perl \
3738
libarray-utils-perl \
3839
libc6-dev \
@@ -56,9 +57,11 @@ RUN apt-get update \
5657
libextutils-helpers-perl \
5758
libextutils-installpaths-perl \
5859
libextutils-xsbuilder-perl \
60+
libfile-copy-recursive-perl \
5961
libfile-find-rule-perl-perl \
6062
libfile-sharedir-install-perl \
6163
libfuture-asyncawait-perl \
64+
libgd-barcode-perl \
6265
libgd-perl \
6366
libhtml-scrubber-perl \
6467
libhtml-template-perl \
@@ -69,10 +72,9 @@ RUN apt-get update \
6972
libjson-perl \
7073
libjson-xs-perl \
7174
liblocale-maketext-lexicon-perl \
72-
libmail-sender-perl \
73-
libmail-sender-perl \
7475
libmariadb-dev \
7576
libmath-random-secure-perl \
77+
libmime-base32-perl \
7678
libmime-tools-perl \
7779
libminion-backend-sqlite-perl \
7880
libminion-perl \
@@ -92,7 +94,6 @@ RUN apt-get update \
9294
libphp-serialization-perl \
9395
libpod-wsdl-perl \
9496
libsoap-lite-perl \
95-
libsql-abstract-classic-perl \
9697
libsql-abstract-perl \
9798
libstring-shellquote-perl \
9899
libsub-uplevel-perl \
@@ -138,15 +139,19 @@ RUN apt-get update \
138139
texlive-xetex \
139140
tzdata \
140141
zip $ADDITIONAL_BASE_IMAGE_PACKAGES \
141-
&& curl -fsSL https://deb.nodesource.com/setup_16.x | bash - \
142+
&& curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
142143
&& apt-get install -y --no-install-recommends --no-install-suggests nodejs \
143144
&& apt-get clean \
144145
&& rm -fr /var/lib/apt/lists/* /tmp/*
145146

146147
# ==================================================================
147148
# Phase 3 - Install additional Perl modules from CPAN that are not packaged for Ubuntu or are outdated in Ubuntu.
148149

149-
RUN cpanm install -n Statistics::R::IO DBD::MariaDB Mojo::[email protected] Perl::Tidy@20220613 \
150+
RUN cpanm install -n \
151+
Statistics::R::IO \
152+
DBD::MariaDB \
153+
Perl::Tidy@20220613 \
154+
Archive::Zip::SimpleZip \
150155
&& rm -fr ./cpanm /root/.cpanm /tmp/*
151156

152157
# ==================================================================

DockerfileStage2

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ RUN echo Cloning branch $PG_BRANCH branch from $PG_GIT_URL \
3333

3434
# We need to change FROM before setting the ENV variables.
3535

36-
FROM webwork-base:forWW218
36+
FROM webwork-base:forWW219
3737

3838
ENV WEBWORK_URL=/webwork2 \
3939
WEBWORK_ROOT_URL=http://localhost::8080 \
@@ -74,7 +74,7 @@ COPY --from=base /opt/base/pg $APP_ROOT/pg
7474
# 7. Apply patches
7575

7676
# Patch files that are applied below
77-
COPY docker-config/imagemagick-allow-pdf-read.patch /tmp
77+
COPY docker-config/pgfsys-dvisvmg-bbox-fix.patch /tmp
7878

7979
RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
8080
&& mkdir /run/webwork2 /etc/ssl/local \
@@ -91,8 +91,8 @@ RUN echo "PATH=$PATH:$APP_ROOT/webwork2/bin" >> /root/.bashrc \
9191
&& npm install \
9292
&& cd $PG_ROOT/htdocs \
9393
&& npm install \
94-
&& patch -p1 -d / < /tmp/imagemagick-allow-pdf-read.patch \
95-
&& rm /tmp/imagemagick-allow-pdf-read.patch
94+
&& patch -p1 -d / < /tmp/pgfsys-dvisvmg-bbox-fix.patch \
95+
&& rm /tmp/pgfsys-dvisvmg-bbox-fix.patch
9696

9797
# ==================================================================
9898
# Phase 5 - Final setup and prepare docker-entrypoint.sh

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Online Homework Delivery System
33
Version 2.*
44

5-
Copyright 2000-2023, The WeBWorK Project
5+
Copyright 2000-2024, The WeBWorK Project
66

77
All rights reserved.
88

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
Version 2.*
44
Branch: github.com/openwebwork
55

6-
https://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.18
7-
Copyright 2000-2023, The WeBWorK Project
6+
https://webwork.maa.org/wiki/Release_notes_for_WeBWorK_2.19
7+
Copyright 2000-2024, The WeBWorK Project
88
https://openwebwork.org/
99
All rights reserved.
1010

VERSION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
$WW_VERSION = '2.18';
2-
$WW_COPYRIGHT_YEARS = '1996-2023';
1+
$WW_VERSION = '2.19';
2+
$WW_COPYRIGHT_YEARS = '1996-2024';
33

44
1;

0 commit comments

Comments
 (0)