Skip to content

Commit 2896aed

Browse files
authored
Merge pull request #11064 from ipfs/release-v0.39.0
Release v0.39.0
2 parents 9fd105a + 31ea50e commit 2896aed

Some content is hidden

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

80 files changed

+5844
-494
lines changed
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# syntax=docker/dockerfile:1
2+
# Stub Dockerfile for the deprecated 'ipfs/go-ipfs' image name.
3+
# This image redirects users to the new 'ipfs/kubo' name.
4+
FROM busybox:stable-glibc
5+
6+
# Copy stub entrypoint that displays deprecation message
7+
COPY .github/legacy/goipfs_stub.sh /usr/local/bin/ipfs
8+
9+
# Make it executable
10+
RUN chmod +x /usr/local/bin/ipfs
11+
12+
# Use the same ports as the real image for compatibility
13+
EXPOSE 4001 4001/udp 5001 8080 8081
14+
15+
# Create ipfs user for consistency
16+
ENV IPFS_PATH=/data/ipfs
17+
RUN mkdir -p $IPFS_PATH \
18+
&& adduser -D -h $IPFS_PATH -u 1000 -G users ipfs \
19+
&& chown ipfs:users $IPFS_PATH
20+
21+
# Run as ipfs user
22+
USER ipfs
23+
24+
# The stub script will run and exit with an error message
25+
ENTRYPOINT ["/usr/local/bin/ipfs"]
26+
CMD ["daemon"]

.github/legacy/goipfs_stub.sh

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!/bin/sh
2+
# Stub script for the deprecated 'ipfs/go-ipfs' Docker image.
3+
# This informs users to switch to 'ipfs/kubo'.
4+
5+
cat >&2 <<'EOF'
6+
ERROR: The name 'go-ipfs' is no longer used.
7+
8+
Please update your Docker scripts to use 'ipfs/kubo' instead of 'ipfs/go-ipfs'.
9+
10+
For example:
11+
docker pull ipfs/kubo:release
12+
13+
More information:
14+
- https://github.com/ipfs/kubo#docker
15+
- https://hub.docker.com/r/ipfs/kubo
16+
- https://docs.ipfs.tech/install/run-ipfs-inside-docker/
17+
18+
EOF
19+
20+
exit 1

.github/workflows/docker-image.yml

Lines changed: 51 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ jobs:
3939
timeout-minutes: 15
4040
env:
4141
IMAGE_NAME: ipfs/kubo
42-
LEGACY_IMAGE_NAME: ipfs/go-ipfs
42+
outputs:
43+
tags: ${{ steps.tags.outputs.value }}
4344
steps:
4445
- name: Check out the repo
4546
uses: actions/checkout@v5
@@ -140,3 +141,52 @@ jobs:
140141
cache-to: |
141142
type=gha,mode=max
142143
type=registry,ref=${{ env.IMAGE_NAME }}:buildcache,mode=max
144+
145+
# Build and push stub image to the legacy ipfs/go-ipfs name
146+
# This redirects users to use ipfs/kubo instead
147+
legacy-name:
148+
needs: docker-hub
149+
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
150+
name: Push stub to legacy ipfs/go-ipfs name
151+
runs-on: ubuntu-latest
152+
timeout-minutes: 5
153+
env:
154+
LEGACY_IMAGE_NAME: ipfs/go-ipfs
155+
steps:
156+
- name: Check out the repo
157+
uses: actions/checkout@v5
158+
159+
- name: Set up QEMU
160+
uses: docker/setup-qemu-action@v3
161+
162+
- name: Set up Docker Buildx
163+
uses: docker/setup-buildx-action@v3
164+
165+
- name: Log in to Docker Hub
166+
uses: docker/login-action@v3
167+
with:
168+
username: ${{ vars.DOCKER_USERNAME }}
169+
password: ${{ secrets.DOCKER_PASSWORD }}
170+
171+
- name: Convert tags to legacy image name
172+
id: legacy_tags
173+
run: |
174+
TAGS="${{ github.event.inputs.tags || needs.docker-hub.outputs.tags }}"
175+
if ! echo "$TAGS" | grep -q "kubo"; then
176+
echo "ERROR: Tags must contain kubo image name"
177+
exit 1
178+
fi
179+
echo "value<<EOF" >> $GITHUB_OUTPUT
180+
echo "$TAGS" | sed "s|ipfs/kubo|$LEGACY_IMAGE_NAME|g" >> $GITHUB_OUTPUT
181+
echo "EOF" >> $GITHUB_OUTPUT
182+
shell: bash
183+
184+
- if: github.event_name != 'workflow_dispatch' || github.event.inputs.push == 'true'
185+
name: Build and push legacy stub image
186+
uses: docker/build-push-action@v6
187+
with:
188+
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
189+
context: .
190+
push: true
191+
file: ./.github/legacy/Dockerfile.goipfs-stub
192+
tags: ${{ steps.legacy_tags.outputs.value }}

.github/workflows/gateway-conformance.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ jobs:
109109
run: cat output.md >> $GITHUB_STEP_SUMMARY
110110
- name: Upload HTML report
111111
if: failure() || success()
112-
uses: actions/upload-artifact@v4
112+
uses: actions/upload-artifact@v5
113113
with:
114114
name: gateway-conformance.html
115115
path: output.html
116116
- name: Upload JSON report
117117
if: failure() || success()
118-
uses: actions/upload-artifact@v4
118+
uses: actions/upload-artifact@v5
119119
with:
120120
name: gateway-conformance.json
121121
path: output.json
@@ -214,13 +214,13 @@ jobs:
214214
run: cat output.md >> $GITHUB_STEP_SUMMARY
215215
- name: Upload HTML report
216216
if: failure() || success()
217-
uses: actions/upload-artifact@v4
217+
uses: actions/upload-artifact@v5
218218
with:
219219
name: gateway-conformance-libp2p.html
220220
path: output.html
221221
- name: Upload JSON report
222222
if: failure() || success()
223-
uses: actions/upload-artifact@v4
223+
uses: actions/upload-artifact@v5
224224
with:
225225
name: gateway-conformance-libp2p.json
226226
path: output.json

.github/workflows/gotest.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
output: test/unit/gotest.junit.xml
7979
if: failure() || success()
8080
- name: Archive the JUnit XML report
81-
uses: actions/upload-artifact@v4
81+
uses: actions/upload-artifact@v5
8282
with:
8383
name: unit
8484
path: test/unit/gotest.junit.xml
@@ -91,7 +91,7 @@ jobs:
9191
output: test/unit/gotest.html
9292
if: failure() || success()
9393
- name: Archive the HTML report
94-
uses: actions/upload-artifact@v4
94+
uses: actions/upload-artifact@v5
9595
with:
9696
name: html
9797
path: test/unit/gotest.html

.github/workflows/interop.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
with:
3838
go-version-file: 'go.mod'
3939
- run: make build
40-
- uses: actions/upload-artifact@v4
40+
- uses: actions/upload-artifact@v5
4141
with:
4242
name: kubo
4343
path: cmd/ipfs/ipfs
@@ -49,10 +49,10 @@ jobs:
4949
run:
5050
shell: bash
5151
steps:
52-
- uses: actions/setup-node@v5
52+
- uses: actions/setup-node@v6
5353
with:
5454
node-version: lts/*
55-
- uses: actions/download-artifact@v5
55+
- uses: actions/download-artifact@v6
5656
with:
5757
name: kubo
5858
path: cmd/ipfs
@@ -84,10 +84,10 @@ jobs:
8484
run:
8585
shell: bash
8686
steps:
87-
- uses: actions/setup-node@v5
87+
- uses: actions/setup-node@v6
8888
with:
8989
node-version: 20.x
90-
- uses: actions/download-artifact@v5
90+
- uses: actions/download-artifact@v6
9191
with:
9292
name: kubo
9393
path: cmd/ipfs

.github/workflows/sharness.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ jobs:
8888
destination: sharness.html
8989
- name: Upload one-page HTML report
9090
if: github.repository != 'ipfs/kubo' && (failure() || success())
91-
uses: actions/upload-artifact@v4
91+
uses: actions/upload-artifact@v5
9292
with:
9393
name: sharness.html
9494
path: kubo/test/sharness/test-results/sharness.html
@@ -108,7 +108,7 @@ jobs:
108108
destination: sharness-html/
109109
- name: Upload full HTML report
110110
if: github.repository != 'ipfs/kubo' && (failure() || success())
111-
uses: actions/upload-artifact@v4
111+
uses: actions/upload-artifact@v5
112112
with:
113113
name: sharness-html
114114
path: kubo/test/sharness/test-results/sharness-html

.github/workflows/sync-release-assets.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- uses: ipfs/start-ipfs-daemon-action@v1
2323
with:
2424
args: --init --init-profile=flatfs,server --enable-gc=false
25-
- uses: actions/setup-node@v5
25+
- uses: actions/setup-node@v6
2626
with:
2727
node-version: 14
2828
- name: Sync the latest 5 github releases

.github/workflows/test-migrations.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
7878
- name: Upload test results
7979
if: always()
80-
uses: actions/upload-artifact@v4
80+
uses: actions/upload-artifact@v5
8181
with:
8282
name: ${{ matrix.os }}-test-results
8383
path: |

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Kubo Changelogs
22

3+
- [v0.39](docs/changelogs/v0.39.md)
34
- [v0.38](docs/changelogs/v0.38.md)
45
- [v0.37](docs/changelogs/v0.37.md)
56
- [v0.36](docs/changelogs/v0.36.md)

0 commit comments

Comments
 (0)