Skip to content

Commit d4f83ba

Browse files
committed
Merge branch 'upgrade'
2 parents da7ff31 + 6f2090f commit d4f83ba

File tree

1,590 files changed

+42941
-27701
lines changed

Some content is hidden

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

1,590 files changed

+42941
-27701
lines changed

.devcontainer/compose.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ services:
7373
hard: -1
7474

7575
libretranslate:
76-
image: libretranslate/libretranslate:v1.6.2
76+
image: libretranslate/libretranslate:v1.7.3
7777
restart: unless-stopped
7878
volumes:
7979
- lt-data:/home/libretranslate/.local

.env.production.sample

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -321,24 +321,3 @@ AUTOFOLLOW=
321321
# -----------------------
322322
IP_RETENTION_PERIOD=31556952
323323
SESSION_RETENTION_PERIOD=31556952
324-
325-
# Fetch All Replies Behavior
326-
# --------------------------
327-
# When a user expands a post (DetailedStatus view), fetch all of its replies
328-
# (default: false)
329-
FETCH_REPLIES_ENABLED=false
330-
331-
# Period to wait between fetching replies (in minutes)
332-
FETCH_REPLIES_COOLDOWN_MINUTES=15
333-
334-
# Period to wait after a post is first created before fetching its replies (in minutes)
335-
FETCH_REPLIES_INITIAL_WAIT_MINUTES=5
336-
337-
# Max number of replies to fetch - total, recursively through a whole reply tree
338-
FETCH_REPLIES_MAX_GLOBAL=1000
339-
340-
# Max number of replies to fetch - for a single post
341-
FETCH_REPLIES_MAX_SINGLE=500
342-
343-
# Max number of replies Collection pages to fetch - total
344-
FETCH_REPLIES_MAX_PAGES=500

.github/actions/setup-javascript/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ runs:
99
using: 'composite'
1010
steps:
1111
- name: Set up Node.js
12-
uses: actions/setup-node@v4
12+
uses: actions/setup-node@v6
1313
with:
1414
node-version-file: '.nvmrc'
1515

.github/renovate.json5

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
'customManagers:dockerfileVersions',
66
':labels(dependencies)',
77
':prConcurrentLimitNone', // Remove limit for open PRs at any time.
8-
':prHourlyLimit2', // Rate limit PR creation to a maximum of two per hour.
98
':enableVulnerabilityAlertsWithLabel(security)',
109
],
1110
rebaseWhen: 'conflicted',
@@ -23,8 +22,6 @@
2322
// Require Dependency Dashboard Approval for major version bumps of these node packages
2423
matchManagers: ['npm'],
2524
matchPackageNames: [
26-
'tesseract.js', // Requires code changes
27-
2825
// react-router: Requires manual upgrade
2926
'history',
3027
'react-router-dom',

.github/workflows/build-container-image.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ jobs:
3535
- linux/arm64
3636

3737
steps:
38-
- uses: actions/checkout@v4
38+
- uses: actions/checkout@v5
3939

4040
- name: Prepare
4141
env:
@@ -100,7 +100,7 @@ jobs:
100100
101101
- name: Upload digest
102102
if: ${{ inputs.push_to_images != '' }}
103-
uses: actions/upload-artifact@v4
103+
uses: actions/upload-artifact@v5
104104
with:
105105
# `hashFiles` is used to disambiguate between streaming and non-streaming images
106106
name: digests-${{ hashFiles(inputs.file_to_build) }}-${{ env.PLATFORM_PAIR }}
@@ -119,10 +119,10 @@ jobs:
119119
PUSH_TO_IMAGES: ${{ inputs.push_to_images }}
120120

121121
steps:
122-
- uses: actions/checkout@v4
122+
- uses: actions/checkout@v5
123123

124124
- name: Download digests
125-
uses: actions/download-artifact@v4
125+
uses: actions/download-artifact@v6
126126
with:
127127
path: ${{ runner.temp }}/digests
128128
# `hashFiles` is used to disambiguate between streaming and non-streaming images

.github/workflows/build-push-pr.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
steps:
1919
# Repository needs to be cloned so `git rev-parse` below works
2020
- name: Clone repository
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@v5
2222
- id: version_vars
2323
run: |
2424
echo mastodon_version_metadata=pr-${{ github.event.pull_request.number }}-$(git rev-parse --short ${{github.event.pull_request.head.sha}}) >> $GITHUB_OUTPUT

.github/workflows/build-releases.yml

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,44 @@ permissions:
99
packages: write
1010

1111
jobs:
12+
check-latest-stable:
13+
runs-on: ubuntu-latest
14+
outputs:
15+
latest: ${{ steps.check.outputs.is_latest_stable }}
16+
steps:
17+
# Repository needs to be cloned to list branches
18+
- name: Clone repository
19+
uses: actions/checkout@v6
20+
with:
21+
fetch-depth: 0
22+
23+
- name: Check latest stable
24+
shell: bash
25+
id: check
26+
run: |
27+
ref="${GITHUB_REF#refs/tags/}"
28+
29+
if [[ "$ref" =~ ^v([0-9]+)\.([0-9]+)(\.[0-9]+)?$ ]]; then
30+
current="${BASH_REMATCH[1]}.${BASH_REMATCH[2]}"
31+
else
32+
echo "tag $ref is not semver"
33+
echo "is_latest_stable=false" >> "$GITHUB_OUTPUT"
34+
exit 0
35+
fi
36+
37+
latest=$(git for-each-ref --format='%(refname:short)' "refs/remotes/origin/stable-*.*" \
38+
| sed -E 's#^origin/stable-##' \
39+
| sort -Vr \
40+
| head -n1)
41+
42+
if [[ "$current" == "$latest" ]]; then
43+
echo "is_latest_stable=true" >> "$GITHUB_OUTPUT"
44+
else
45+
echo "is_latest_stable=false" >> "$GITHUB_OUTPUT"
46+
fi
47+
1248
build-image:
49+
needs: check-latest-stable
1350
uses: ./.github/workflows/build-container-image.yml
1451
with:
1552
file_to_build: Dockerfile
@@ -20,13 +57,14 @@ jobs:
2057
# Only tag with latest when ran against the latest stable branch
2158
# This needs to be updated after each minor version release
2259
flavor: |
23-
latest=${{ startsWith(github.ref, 'refs/tags/v4.3.') }}
60+
latest=${{ needs.check-latest-stable.outputs.latest }}
2461
tags: |
2562
type=pep440,pattern={{raw}}
2663
type=pep440,pattern=v{{major}}.{{minor}}
2764
secrets: inherit
2865

2966
build-image-streaming:
67+
needs: check-latest-stable
3068
uses: ./.github/workflows/build-container-image.yml
3169
with:
3270
file_to_build: streaming/Dockerfile
@@ -37,7 +75,7 @@ jobs:
3775
# Only tag with latest when ran against the latest stable branch
3876
# This needs to be updated after each minor version release
3977
flavor: |
40-
latest=${{ startsWith(github.ref, 'refs/tags/v4.3.') }}
78+
latest=${{ needs.check-latest-stable.outputs.latest }}
4179
tags: |
4280
type=pep440,pattern={{raw}}
4381
type=pep440,pattern=v{{major}}.{{minor}}

.github/workflows/bundler-audit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ jobs:
2828

2929
steps:
3030
- name: Clone repository
31-
uses: actions/checkout@v4
31+
uses: actions/checkout@v5
3232

3333
- name: Set up Ruby
3434
uses: ruby/setup-ruby@v1

.github/workflows/check-i18n.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
runs-on: ubuntu-latest
2222

2323
steps:
24-
- uses: actions/checkout@v4
24+
- uses: actions/checkout@v5
2525

2626
- name: Set up Ruby environment
2727
uses: ./.github/actions/setup-ruby

.github/workflows/chromatic.yml

Lines changed: 35 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,62 @@
11
name: 'Chromatic'
2+
permissions:
3+
contents: read
24

35
on:
46
push:
57
branches-ignore:
68
- renovate/*
79
- stable-*
8-
paths:
9-
- 'package.json'
10-
- 'yarn.lock'
11-
- '**/*.js'
12-
- '**/*.jsx'
13-
- '**/*.ts'
14-
- '**/*.tsx'
15-
- '**/*.css'
16-
- '**/*.scss'
17-
- '.github/workflows/chromatic.yml'
1810

1911
jobs:
12+
pathcheck:
13+
name: Check for relevant changes
14+
runs-on: ubuntu-latest
15+
outputs:
16+
changed: ${{ steps.filter.outputs.src }}
17+
steps:
18+
- name: Checkout code
19+
uses: actions/checkout@v5
20+
with:
21+
fetch-depth: 0
22+
23+
- uses: dorny/paths-filter@v3
24+
id: filter
25+
with:
26+
filters: |
27+
src:
28+
- 'package.json'
29+
- 'yarn.lock'
30+
- '**/*.js'
31+
- '**/*.jsx'
32+
- '**/*.ts'
33+
- '**/*.tsx'
34+
- '**/*.css'
35+
- '**/*.scss'
36+
- '.github/workflows/chromatic.yml'
37+
2038
chromatic:
2139
name: Run Chromatic
2240
runs-on: ubuntu-latest
23-
if: github.repository == 'mastodon/mastodon'
41+
needs: pathcheck
42+
if: github.repository == 'mastodon/mastodon' && needs.pathcheck.outputs.changed == 'true'
2443
steps:
2544
- name: Checkout code
26-
uses: actions/checkout@v4
45+
uses: actions/checkout@v5
2746
with:
2847
fetch-depth: 0
48+
2949
- name: Set up Javascript environment
3050
uses: ./.github/actions/setup-javascript
3151

3252
- name: Build Storybook
3353
run: yarn build-storybook
3454

3555
- name: Run Chromatic
36-
uses: chromaui/action@v12
56+
uses: chromaui/action@v13
3757
with:
38-
# ⚠️ Make sure to configure a `CHROMATIC_PROJECT_TOKEN` repository secret
3958
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
4059
zip: true
4160
storybookBuildDir: 'storybook-static'
61+
exitZeroOnChanges: false # Fail workflow if changes are found
62+
autoAcceptChanges: 'main' # Auto-accept changes on main branch only

0 commit comments

Comments
 (0)