Skip to content

Commit 5de4371

Browse files
authored
Merge branch 'master' into AO3-6748_low_vision_default_stats_line
2 parents eec0794 + 5748b65 commit 5de4371

File tree

231 files changed

+3860
-2125
lines changed

Some content is hidden

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

231 files changed

+3860
-2125
lines changed

.github/PULL_REQUEST_TEMPLATE.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Pull Request Checklist
22

3+
<!-- Mark steps in the checklist as complete by changing `[ ]` to `[X]` -->
34
* [ ] Have you read ["How to write the perfect pull request"](https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/)?
45
* [ ] Have you read the [contributing guidelines](https://github.com/otwcode/otwarchive/blob/master/CONTRIBUTING.md)?
56
* [ ] Have you added [tests for any changed functionality](https://github.com/otwcode/otwarchive/wiki/Automated-Testing)?
@@ -23,9 +24,11 @@ How can the Archive's QA team verify that this is working as you intended?
2324
If you have a Jira account with access, please update or comment on the issue
2425
with any new or missing testing instructions instead.
2526

27+
You can remove this section if there are already full testing instructions in the Jira issue.
28+
2629
## References
2730

28-
Are there other relevant issues/pull requests/mailing list discussions?
31+
Are there other relevant issues/pull requests/mailing list discussions? If not, you can remove this section.
2932

3033
## Credit
3134

.github/workflows/automated-tests.yml

+9-13
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
- 3306:3306
3535

3636
elasticsearch:
37-
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.5
37+
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.26
3838
ports:
3939
- 9200:9200
4040
options: >-
@@ -54,22 +54,19 @@ jobs:
5454
arguments: db:otwseed
5555
- command: rspec
5656
arguments: spec/controllers
57-
imagemagick: true
5857
- command: rspec
5958
arguments: spec/models
60-
imagemagick: true
6159
- command: rspec
6260
arguments: --exclude-pattern 'spec/{controllers,models}/**/*.rb'
63-
imagemagick: true
61+
libvips: true
6462
- command: cucumber
6563
arguments: features/admins
66-
imagemagick: true
64+
libvips: true
6765
- command: cucumber
6866
arguments: features/bookmarks
69-
imagemagick: true
7067
- command: cucumber
7168
arguments: features/collections
72-
imagemagick: true
69+
libvips: true
7370
- command: cucumber
7471
arguments: features/comments_and_kudos
7572
- command: cucumber
@@ -79,10 +76,10 @@ jobs:
7976
vcr: true
8077
- command: cucumber
8178
arguments: features/other_a
82-
imagemagick: true
79+
libvips: true
8380
- command: cucumber
8481
arguments: features/other_b
85-
imagemagick: true
82+
libvips: true
8683
- command: cucumber
8784
arguments: features/prompt_memes_a
8885
- command: cucumber
@@ -100,7 +97,6 @@ jobs:
10097
- command: cucumber
10198
arguments: features/works
10299
ebook: true
103-
imagemagick: true
104100

105101
steps:
106102
- name: Check out code
@@ -138,9 +134,9 @@ jobs:
138134
restore-keys: |
139135
cassette-library-${{ hashFiles(matrix.tests.arguments) }}-
140136
141-
- name: Install imagemagick for image processing
142-
if: ${{ matrix.tests.imagemagick }}
143-
run: sudo apt-get install -y imagemagick
137+
- name: Install libvips for image processing
138+
if: ${{ matrix.tests.libvips }}
139+
run: sudo apt-get install -y libvips-dev
144140

145141
- name: Set up Ruby and run bundle install
146142
uses: ruby/setup-ruby@v1

.github/workflows/reviewdog.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@ jobs:
4545
bundler-cache: true
4646

4747
- name: erb-lint
48-
uses: tk0miya/action-erblint@b6e537f4616e4fa7a9eef209ca34ca944e1440dd
48+
uses: tk0miya/action-erblint@44c5fe3552356fe8bff23f30d534aa4258aa3f7b
4949
with:
5050
use_bundler: true
5151
reporter: github-pr-check
52-
fail_on_error: true
52+
fail_level: any

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,9 @@ public/system/test
5858
# /tmp/
5959
/tmp/*
6060

61+
# ActiveRecord storage path
62+
storage/
63+
6164
# /vendor/
6265
/vendor/gems
6366

.rubocop.yml

+3
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ Metrics/PerceivedComplexity:
8383
Migration/LargeTableSchemaUpdate:
8484
Tables:
8585
- abuse_reports
86+
- active_storage_blobs
8687
- admin_activities
8788
- audits
8889
- bookmarks
@@ -154,6 +155,8 @@ Rails/OutputSafety:
154155

155156
Rails/Output:
156157
Exclude:
158+
# Allow patches to print warnings to console:
159+
- 'config/initializers/monkeypatches/*.rb'
157160
# Allow migrations to print pt-osc comments to console:
158161
- 'db/migrate/*.rb'
159162

.ruby-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
ruby-3.1.4
1+
ruby-3.2.7

CONTRIBUTING.md

+12-20
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Reporting bugs
44

5-
We maintain a [Jira issue tracker](https://otwarchive.atlassian.net) for developers,
5+
We maintain a [Jira issue tracker](https://otwarchive.atlassian.net/projects/AO3/issues) for developers,
66
and a [list of Known Issues](https://archiveofourown.org/known_issues) for
77
[Archive of Our Own](https://archiveofourown.org) users, neither of which are
88
publicly editable.
@@ -32,32 +32,24 @@ Please [contact the AO3 Support team](https://archiveofourown.org/support). Our
3232

3333
**We only accept pull requests for issues we have already added to [Jira](https://otwarchive.atlassian.net)**,
3434
with the exception of spelling corrections and documentation improvements
35-
(e.g. any Markdown files).
36-
37-
If you'd like the ability to comment on, assign, and transition issues,
38-
you're welcome to create a Jira account! (It makes things a bit easier for us
39-
on the organizational side if the Full Name on your Jira account either closely
40-
matches the name you'd like us to credit in the release notes or includes it in
41-
parentheses, e.g. "Nickname (CREDIT NAME).") We'll give you permissions when
42-
you create your first pull request.
35+
(e.g. any Markdown files). We also do not accept code generated by AI tools; for more information,
36+
please refer to [our commit policy](https://github.com/otwcode/otwarchive/wiki/Commit-Policy#scary-legal-stuff).
4337

4438
Please check out our development wiki for more information on:
4539

4640
- [how to set up a development environment](https://github.com/otwcode/otwarchive/wiki)
4741
- [code conventions](https://github.com/otwcode/otwarchive/wiki/Commit-policy)
4842

49-
Please follow the checklist on [our template](https://github.com/otwcode/otwarchive/blob/master/.github/PULL_REQUEST_TEMPLATE.md) when submitting pull requests.
50-
51-
Please be patient with us! Due to our workload, it may take some time before we
52-
can review and eventually merge your pull request.
53-
54-
Once your pull request is merged, it will be deployed to our internal testing site
55-
and our QA team will check that everything is working as intended. If not, we may
56-
set the issue to ["Broken on Test"](https://github.com/otwcode/otwarchive/wiki/Issue-Tracking-with-Jira)
57-
and ask you to make further changes in new pull requests.
43+
### Workflow
5844

59-
If all is well, your contribution will be deployed to the [Archive of Our Own](https://archiveofourown.org)
60-
and you will be credited in the [release notes](https://archiveofourown.org/admin_posts?tag=1)!
45+
1. If you're a new contributor, find a task on the [issues reserved for first timers](https://otwarchive.atlassian.net/issues/?filter=13119). Otherwise, or if you're up for a challenge, pick a task from the general [open and unassigned issues](https://otwarchive.atlassian.net/issues/?filter=10800). (If you're a new contributor, don't worry about claiming the issue for now. If you make a Jira account, you'll get permissions for claiming issues in step 5.)
46+
2. Write code to address the issue.
47+
3. Optional: Create a Jira account if you'd like the ability to comment on, assign, and transition issues. Please make sure the Full Name on your Jira account either closely matches the name you'd like us to credit in the release notes or includes it in parentheses, e.g. "Nickname (CREDIT NAME)."
48+
4. Submit the code with a pull request following the checklist on [our template](https://github.com/otwcode/otwarchive/blob/master/.github/PULL_REQUEST_TEMPLATE.md).
49+
5. Once you've submitted a pull request, we'll review your code and give you permissions on Jira. Please be patient with us! Due to our workload, it may take some time before we can review and eventually merge your pull request.
50+
6. Once your pull request is merged, we will deploy it to our internal testing site and our QA team will check that everything is working as intended.
51+
7. If something is not working as intended, we may set the issue to ["Broken on Test"](https://github.com/otwcode/otwarchive/wiki/Issue-Tracking-with-Jira) and ask you to make further changes in new pull requests.
52+
8. If all is well, your contribution will be deployed to the [Archive of Our Own](https://archiveofourown.org) and you will be credited in the [release notes](https://archiveofourown.org/admin_posts?tag=1)!
6153

6254

6355
## Volunteering for the OTW

Gemfile

+9-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
source 'https://rubygems.org'
22

3-
ruby "3.1.4"
3+
ruby "~> 3.2.7"
44

55
gem 'test-unit', '~> 3.2'
66

77
gem 'bundler'
88

9-
gem "rails", "~> 7.0.8"
9+
gem "rails", "~> 7.1"
1010
gem "rails-i18n"
1111
gem "rack", "~> 2.2"
1212
gem "sprockets", "< 4"
@@ -37,6 +37,7 @@ gem 'unicode_utils', '>=1.4.0'
3737
gem "lograge" # https://github.com/roidrage/lograge
3838

3939
gem 'will_paginate', '>=3.0.2'
40+
gem "pagy", "~> 9.3"
4041
gem 'acts_as_list', '~> 0.9.7'
4142
gem 'akismetor'
4243

@@ -56,7 +57,6 @@ gem "aws-sdk-s3"
5657
gem 'css_parser'
5758

5859
gem "terrapin"
59-
gem "kt-paperclip", ">= 5.2.0"
6060

6161
# for looking up image dimensions quickly
6262
gem 'fastimage'
@@ -84,9 +84,7 @@ gem 'timeliness'
8484
gem 'google_visualr', git: 'https://github.com/winston/google_visualr'
8585

8686
# Globalize for translations
87-
# Must use master branch and activemodel-serializers-xml for Rails 5 upgrade
88-
gem 'globalize', git: 'https://github.com/globalize/globalize'
89-
gem 'activemodel-serializers-xml'
87+
gem "globalize", "~> 7.0"
9088

9189
# Add a clean notifier that shows we are on dev or test
9290
gem 'rack-dev-mark', '>=0.7.8'
@@ -109,10 +107,10 @@ gem 'kgio', '2.10.0'
109107
gem "marcel", "1.0.2"
110108

111109
# Library for helping run pt-online-schema-change commands:
112-
gem "departure", "~> 6.5"
110+
gem "departure", "~> 6.7"
113111

114-
# Ruby 3.1 means we need to specify a version of mail until we get to rails 7.x
115-
gem "mail", ">= 2.8"
112+
gem "rack-timeout"
113+
gem "puma_worker_killer"
116114

117115
group :test do
118116
gem "rspec-rails", "~> 6.0"
@@ -183,3 +181,5 @@ group :staging, :production do
183181
gem "sentry-rails"
184182
gem "sentry-resque"
185183
end
184+
185+
gem "image_processing", "~> 1.12"

0 commit comments

Comments
 (0)