Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release: v0.21.0 #9936

Merged
merged 202 commits into from
Jun 12, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
202 commits
Select commit Hold shift + click to select a range
2020815
Setup repo
magik6k Nov 6, 2018
6d85aff
Initial structure, path stuff
magik6k Nov 6, 2018
35c271e
wip notice in readme
magik6k Nov 6, 2018
6c927fd
Partial ipld node impl
magik6k Nov 6, 2018
1cd2ec0
Init gx
magik6k Dec 20, 2018
16e97bf
It builds
magik6k Dec 21, 2018
fe4c9fd
Skeleton for tests
magik6k Dec 30, 2018
e8da6e2
Block API
magik6k Jan 7, 2019
ab89e0a
Partial Unixfs.Add
magik6k Jan 7, 2019
cf74d39
Partial Key API, ApiAddr funcion
magik6k Jan 8, 2019
c236393
Connect test swarms, don't compress api calls
magik6k Jan 8, 2019
7861315
Wrap single files in Unixfs.Add
magik6k Jan 8, 2019
f638bae
implement .Name
magik6k Jan 8, 2019
1acf416
Implement .Unixfs.Ls()
magik6k Jan 8, 2019
a6636aa
Imprement partian Pin API
magik6k Jan 8, 2019
0f7c839
Import missing unixfs dep
magik6k Jan 8, 2019
af197cb
api.WithOption
magik6k Jan 8, 2019
6d9dea6
Implement Unixfs.Get()
magik6k Jan 8, 2019
00597e6
Dag.Put
magik6k Jan 9, 2019
101910f
Object.New
magik6k Jan 9, 2019
31a4c37
Fix Dag.Put
magik6k Jan 9, 2019
c213e26
Unixfs.Add progress events
magik6k Jan 9, 2019
266c2f9
Implement Key API
magik6k Jan 15, 2019
9d647d0
Implement Pin API
magik6k Jan 15, 2019
eaa1938
Implement Object API
magik6k Jan 15, 2019
ed9f2dd
Implement DHT Api
magik6k Jan 15, 2019
cae0ff2
Implement Swarm Api
magik6k Jan 15, 2019
c2e0872
Implement PubSub Api
magik6k Jan 15, 2019
9b24cf0
Use cids in DHT calls
magik6k Jan 15, 2019
b7e258c
Reimplement DAG as DAGService
magik6k Jan 21, 2019
c3f2970
block: Pin option
magik6k Feb 4, 2019
af2edd1
tests: enable filestore
magik6k Feb 4, 2019
75cf2be
apifile: Implement Seek
magik6k Feb 4, 2019
bb83ccb
response: read trailing error headers
magik6k Feb 4, 2019
88139dd
dag: Interface updates
magik6k Feb 4, 2019
93bfcf9
unixfs: updated ls
magik6k Feb 4, 2019
1bc854b
pin: handle Rm options
magik6k Feb 4, 2019
c543354
Check for redirects
magik6k Feb 6, 2019
ef5bf40
Update imports to use extracted interface
magik6k Feb 11, 2019
0813d80
Fix govet warning in Dag
magik6k Feb 12, 2019
abc30e3
Register iptb plugin once
magik6k Feb 12, 2019
9a6ee6f
Improve test node spawning
magik6k Feb 14, 2019
f7dd0c6
Improve apifile error messages
magik6k Feb 14, 2019
e1b14d7
Implement missing methods
magik6k Feb 14, 2019
42273ca
Don't use valid() pattern
magik6k Feb 14, 2019
93f6846
dag: remove unused waitgroup
magik6k Feb 14, 2019
cc964b4
Simplify Object.New, remove ipldnode.go
magik6k Feb 14, 2019
a23da82
swarm: attach peerid if needed
magik6k Feb 14, 2019
f005b8d
pin: verify: parse bad node cids early
magik6k Feb 18, 2019
4a6d36d
pubsub: handle ctx
magik6k Feb 18, 2019
7229dbb
don't read all and then throw away the buffer
magik6k Feb 18, 2019
b6ace8d
response: handle late errors
magik6k Feb 18, 2019
7be8d01
response: option to disable output draining
magik6k Feb 18, 2019
3088776
swarm: always append peer IDs
magik6k Feb 18, 2019
745bf92
gofmt
magik6k Feb 18, 2019
27aa13f
return errors from constructor methods
magik6k Feb 19, 2019
fc299e7
pin verify: use temporary struct
magik6k Feb 19, 2019
a058e7d
response: Document zero-result Decode behaviour
magik6k Feb 19, 2019
db1af49
use mime.ParseMediaType for Content-Type response parsing
magik6k Feb 19, 2019
f34788e
cleanup Swarm.Peers
magik6k Feb 19, 2019
aa4d6e1
Add some docs to constructors
magik6k Feb 19, 2019
f6a3a4f
gofmt
magik6k Feb 19, 2019
ad844e3
response: simplify Decode
magik6k Feb 20, 2019
19d91fb
response: pass close error in decode
magik6k Feb 20, 2019
cc9968d
request: fix Content-Disposition header in Send
magik6k Feb 21, 2019
47b8201
test: don't panic on errors in async node construction
magik6k Feb 21, 2019
4b30924
Merge pull request ipfs/go-ipfs-http-client#1 from ipfs/feat/implement
magik6k Feb 23, 2019
0e800c3
update interface-go-ipfs-core and handle breaking changes
Stebalien Mar 26, 2019
b22be85
Merge pull request ipfs/go-ipfs-http-client#10 from ipfs/feat/update-…
Stebalien Mar 29, 2019
e76ecd3
nit: return concrete types
Stebalien Mar 26, 2019
c6f704b
return an error when the API file isn't found
Stebalien Mar 26, 2019
40f40b5
fix golang-ci lint nits
Stebalien Mar 26, 2019
c791d73
avoid canceling multiple times
Stebalien Mar 26, 2019
0e790f4
Merge pull request ipfs/go-ipfs-http-client#9 from ipfs/fix/nits
Stebalien Mar 29, 2019
1c07bed
Export (*HttpApi).request to enable building custom requests
hinshun Apr 2, 2019
e2fdd5a
Merge pull request ipfs/go-ipfs-http-client#13 from hinshun/export-re…
Stebalien Apr 3, 2019
70158ed
feed through context
Stebalien Apr 4, 2019
3b02ea4
api: add authenticated transport, and direct connection
Apr 10, 2019
3b67615
gomod: update iface with path refactor
magik6k Apr 26, 2019
0fc826d
Merge pull request ipfs/go-ipfs-http-client#14 from ipfs/feat/add-con…
Stebalien Apr 27, 2019
ea34bcb
Merge pull request ipfs/go-ipfs-http-client#16 from ipfs/feat/update-…
Stebalien Apr 27, 2019
11a990c
api: expose headers via HttpApi, copy headers during request build
postables May 1, 2019
d8c286b
api: remove WithAuthorization, DirectAPI client, instantiate header map
postables May 1, 2019
89600e6
api: add wip api test
postables May 1, 2019
37ea6eb
Merge branch 'master' into client/auth
bonedaddy May 1, 2019
efe3b60
api: call NewURLApiWithClient from NewApiWithClient
postables May 1, 2019
fd5010b
api: cleanup header and NewURLApiWithClient test
postables May 1, 2019
daf1b72
api: fix failing test
postables May 2, 2019
8b9e189
remove unused transport.go file
postables May 2, 2019
fd9d62f
Merge pull request ipfs/go-ipfs-http-client#15 from RTradeLtd/client/…
magik6k May 2, 2019
8d953a7
Use interface for RequestBuilder
magik6k May 10, 2019
ee2dec1
Merge pull request ipfs/go-ipfs-http-client#18 from ipfs/feat/iface-r…
Stebalien May 10, 2019
1b81f2e
add extended error handling
Stebalien Jun 12, 2019
2612353
use error from go-ipfs-cmds
Stebalien Jun 13, 2019
2fabc8c
Merge pull request ipfs/go-ipfs-http-client#20 from ipfs/feat/errors
Stebalien Jun 13, 2019
9345cfa
update to consolidated libp2p interface package (#21)
godcong Jul 21, 2019
be8f802
fix path miss in windows/add a new api create function (#23)
godcong Aug 12, 2019
b6b2ae3
doc: mark this package experimental instead of WIP (#30)
Stebalien Aug 31, 2019
d48f8fc
file: implement ReadAt
Stebalien Sep 11, 2019
c71a840
Merge pull request ipfs/go-ipfs-http-client#31 from ipfs/feat/read-at
Stebalien Sep 12, 2019
8f93063
Update pin.go
joeltg Dec 7, 2019
d9004a9
IDB58Decode -> Decode
willscott May 3, 2020
861ff4a
Merge pull request ipfs/go-ipfs-http-client#97 from ipfs/fix/decode
willscott May 4, 2020
7ebef96
update contributing link
stensonb May 12, 2020
b867648
Merge pull request ipfs/go-ipfs-http-client#101 from stensonb/patch-1
Stebalien May 12, 2020
247cb05
Bump interface-go-ipfs-core version (#117)
petar Jul 31, 2020
ea2a356
fix staticcheck
marten-seemann May 16, 2021
3bb5bd2
Merge pull request ipfs/go-ipfs-http-client#143 from ipfs/fix-staticc…
marten-seemann May 17, 2021
5322cf8
feat: pubsub http rpc with multibase (#151)
lidel Nov 29, 2021
b52c80c
skip TestHttpApi on Windows
galargh Jan 14, 2022
ee92934
Merge pull request ipfs/go-ipfs-http-client#154 from ipfs/web3-bot/sync
galargh Jan 14, 2022
b85aa96
fix: make Block().* return correct ABI based ipld.ErrNotFound errors
Jorropo Mar 27, 2022
5a8e2b7
chore: rename abyfyIpldErrNotFound to parseIPLDErrNotFound
Jorropo Mar 30, 2022
a2a6076
fix: parseIPLDErrNotFound test
Jorropo Mar 31, 2022
ddd3664
feat: update the error parsing for go-ipld-format to v0.4.0
Jorropo Mar 31, 2022
775bcb7
feat: add blockstore: block not found matching too
Jorropo Mar 31, 2022
54f6e90
fix: change CID breaking logic when parsing ipld.ErrNotFound
Jorropo Apr 2, 2022
f2f2109
test: add a false case test to blockstore parsing
Jorropo Apr 2, 2022
60a548b
correctness: only match CIDs matching go-cid.Cid.String output
Jorropo Apr 5, 2022
ebb2807
Merge pull request ipfs/go-ipfs-http-client#156 from ipfs/fix/ipld-Er…
Jorropo Apr 5, 2022
fd20901
fix: interop with 'block put' from go-ipfs 0.13 (#158)
lidel Apr 21, 2022
1cdb9ad
fix: interop with go-ipfs 0.13 (#160)
lidel Jun 23, 2022
0fff1d5
stop using the deprecated io/ioutil package
web3-bot Sep 23, 2022
1193b29
chore: remove unused linter directives
galargh Oct 1, 2022
0c9c9b9
Merge pull request ipfs/go-ipfs-http-client#157 from ipfs/web3-bot/sync
galargh Oct 1, 2022
75b6f45
chore: bumps for Kubo 0.18 and Routing API with stub for Put
Jorropo Feb 6, 2023
5c21cf0
docs: adding example of connection and pinning to README (#173)
PedrobyJoao Mar 28, 2023
c58aadb
chore: update version (#9805)
galargh Apr 7, 2023
a97bf42
chore: set kubo-maintainers as default code owners (#9808)
guseggert Apr 10, 2023
03a9828
test: port twonode test to Go, remove multinode test
guseggert Apr 7, 2023
f7cab55
feat: boxo tracing and traceparent support (#9811)
hacdias Apr 11, 2023
3a15a0f
test: fix Docker tests in GH Actions (#9812)
guseggert Apr 12, 2023
0d38c36
docs: preparing 0.20 changelog for release (#9799)
BigLep Apr 13, 2023
78895a1
deps: bump go-libp2p to v0.27.1 (#9816)
MarcoPolo Apr 14, 2023
8bebfc0
chore: migrate from go-libipfs to boxo
Jorropo Apr 16, 2023
f812f82
ci: update apt before installing deps (#9831)
galargh Apr 24, 2023
366546a
docs: add `ipfs pubsub` deprecation reminder to changelog (#9827)
hacdias Apr 25, 2023
e4908a0
chore: bump to boxo 0.8.1 (#9836)
hacdias Apr 25, 2023
4ca36c4
fix: use default HTTP routers when FullRT DHT client is used (#9841)
guseggert May 1, 2023
53821c2
feat: webui@3.0.0 (#9835)
SgtPooki May 2, 2023
6fa79e3
Merge branch 'master' into merge-release-v0.19.2
hacdias May 3, 2023
f606b97
Merge pull request #9848 from ipfs/merge-release-v0.19.2
hacdias May 3, 2023
a6f446a
test: deterministic ipns fixtures during sharness gateway tests (#9667)
laurentsenta May 3, 2023
a197125
pin: follow async pinner changes
MichaelMure May 4, 2023
196b5c1
docs(config): remove mentions of relay v1 (#9860)
lidel May 8, 2023
c178c51
fix: deadlock on retrieving WebTransport addresses (#9857)
hacdias May 8, 2023
c39b805
chore: update go-libp2p to v0.27.3 (#9862)
marten-seemann May 9, 2023
c9a8d9f
ci: simplify self-hosted runner selection (#9813)
galargh May 9, 2023
d1e2067
Merge branch 'master' into merge-release-v0.20.0
hacdias May 9, 2023
ff0f2e2
Merge pull request #9864 from ipfs/merge-release-v0.20.0
hacdias May 9, 2023
851248a
chore: create next changelog
hacdias May 9, 2023
b27da1c
Merge pull request #9865 from ipfs/changelog-v0.21
hacdias May 9, 2023
7ec67fd
chore(deps): bump golang.org/x/crypto from 0.7.0 to 0.9.0
dependabot[bot] May 9, 2023
eab0baa
docs: add "Customizing Kubo" doc (#9854)
guseggert May 10, 2023
0e7331c
feat: update boxo with routing streaming
hacdias May 10, 2023
61f8c73
refactor: use reusable IPNS ValidateWithPeerID (#9867)
laurentsenta May 10, 2023
4acadd4
docs: add Thunderdome docs for releases (#9872)
guseggert May 15, 2023
f683bf6
feat: create pull request template (#9620)
galargh May 15, 2023
8ca9b71
fix: the location of the PR template (#9878)
galargh May 15, 2023
a4f5457
ci: skip build on PRs modifying MDs only (#9879)
galargh May 15, 2023
7d82623
fix: use https URI when multiaddress specifies tls (#177)
rossjones May 15, 2023
13c3796
fix(gateway): redirect /ipns/b58mh to /ipns/cidb36 (#9785)
hacdias May 16, 2023
65b8d53
test: add streaming delegated routing test (#9874)
hacdias May 16, 2023
da28fbc
chore: use assert.NoError instead of assert.Nil for errors
Jorropo May 16, 2023
eda19c8
chore: fix nix install options (#9887)
Jorropo May 23, 2023
63561f3
feat(bootstrap): save connected peers as backup bootstrap peers (#8856)
schomatis May 25, 2023
e3126eb
chore: upgrade boxo and fix test function signature (#9896)
hacdias May 25, 2023
38556b8
docs: Reprovider config (#9900)
lidel May 29, 2023
c10b804
feat: Gateway.DeserializedResponses config flag (#9789)
hacdias May 29, 2023
86d8e75
client/rpc: migrate go-ipfs-http-client
Jorropo May 30, 2023
4019d94
Merge pull request #9906 from ipfs/go-ipfs-http-client
hacdias May 31, 2023
12f343d
client/rpc: rename package name to match rpc and edit migration story
Jorropo May 31, 2023
5a993cf
chore(deps): bump go.uber.org/dig from 1.16.1 to 1.17.0
dependabot[bot] May 31, 2023
99fdaa1
plugin: fix non-deterministic loading order
MichaelMure May 31, 2023
67e1a17
feat: adds secp256k1 keypair type to key gen command, adds test cases
imthe-1 Apr 20, 2023
dfd2448
feat(gateway): human error pages, dag-cbor/dag-json preview (#9904)
hacdias May 31, 2023
6eef0b4
fix: 'ipfs routing findpeer' explicitly fails when searching for self…
susarlanikhilesh Jun 1, 2023
eb265f7
fix(gateway)!: no duplicate payload during subdomain redirects (#9913)
hacdias Jun 2, 2023
9b63ab6
client/rpc: bring up to speed with streaming pins
Jorropo Jun 2, 2023
a2c66ab
pinning: fix pin listings
Jorropo Jun 2, 2023
8f0359a
Merge pull request #9859 from MichaelMure/streamed-pins2
Jorropo Jun 2, 2023
8114573
core/commands/pin: fix incorrect pointer type in encoder
Jorropo Jun 2, 2023
f8f4b83
client/rpc: use streaming pin listing
Jorropo Jun 2, 2023
726eabe
feat: add deduplication ratio to 'ipfs dag stat' (#9787)
arthurgavazza Jun 6, 2023
d86e227
cmds/dag.stat: remove printf debug
Jorropo Jun 6, 2023
50daf64
changelog/v0.21: add dag stat additions
Jorropo Jun 6, 2023
e5b3392
fix: correct list of addresses for delegated routing (#9920)
ischasny Jun 7, 2023
8390f85
docs: update QUIC as the most widely used transport by Kubo nodes (#9…
MarcoPolo Jun 7, 2023
50feb75
chore: update boxo to version with fewer globals
aschmahmann Jun 2, 2023
4ebde42
feat: switch dag import command to use default go-ipld-legacy block d…
aschmahmann May 31, 2023
de59ac1
feat(client/rpc): switch rpc client to use go-ipld-prime global decod…
aschmahmann Jun 2, 2023
23f0123
ci: bump go version to 1.19.x across the whole board
Jorropo Jun 8, 2023
5de86ab
chore: migrate test/dependencies to boxo
Jorropo Jun 8, 2023
e7294cb
feat: warn users who are falling behind reprovides
Jorropo Jun 8, 2023
30f5e54
chore: update dependencies ahead of 0.21 release
Jorropo Jun 8, 2023
2716cd9
feat(gateway): support for IPIP-402 CAR params (#9914)
hacdias Jun 8, 2023
1859e89
feat: update gateway-conformance to v0.1 (#9925)
laurentsenta Jun 8, 2023
ad9e208
chore: bump to boxo 0.10 (#9928)
hacdias Jun 9, 2023
8138e00
chore: last dependency update for v0.21-rc1
Jorropo Jun 12, 2023
e212810
Revert "feat: adds secp256k1 keypair type to key gen command, adds te…
hacdias Jun 12, 2023
b55cd72
fix: print rcmgr to logger
Jorropo Jun 8, 2023
696b3a4
chore: update version
hacdias Jun 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!--
PR Creation Checklist
- [ ] Update Changelog
-->
71 changes: 28 additions & 43 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,23 @@ name: Interop
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'master'

env:
GO_VERSION: 1.19.1
GO_VERSION: 1.19.x

concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name == 'push' && github.sha || github.ref }}
cancel-in-progress: true

defaults:
run:
shell: bash

jobs:
interop-prep:
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
Expand Down Expand Up @@ -44,7 +50,7 @@ jobs:
path: cmd/ipfs/ipfs
interop:
needs: [interop-prep]
runs-on: ubuntu-latest
runs-on: ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "2xlarge"]' || '"ubuntu-latest"') }}
timeout-minutes: 20
defaults:
run:
Expand Down Expand Up @@ -75,7 +81,7 @@ jobs:
npm install ipfs-interop@^10.0.1
working-directory: interop
# Run the interop tests while ignoring the js-js interop test cases
- run: npx ipfs-interop -- -t node --grep '^(?!.*(js\d? -> js\d?|js-js-js))'
- run: npx ipfs-interop -- -t node --grep '^(?!.*(js\d? -> js\d?|js-js-js))' --parallel
env:
LIBP2P_TCP_REUSEPORT: false
LIBP2P_ALLOW_WEAK_RSA_KEYS: 1
Expand Down Expand Up @@ -121,42 +127,9 @@ jobs:
working-directory: go-ipfs-api
- run: cmd/ipfs/ipfs shutdown
if: always()
go-ipfs-http-client:
needs: [interop-prep]
runs-on: ubuntu-latest
timeout-minutes: 5
env:
TEST_DOCKER: 0
TEST_FUSE: 0
TEST_VERBOSE: 1
TRAVIS: 1
GIT_PAGER: cat
IPFS_CHECK_RCMGR_DEFAULTS: 1
defaults:
run:
shell: bash
steps:
- uses: actions/setup-go@v3
with:
go-version: ${{ env.GO_VERSION }}
- uses: actions/download-artifact@v3
with:
name: kubo
path: cmd/ipfs
- run: chmod +x cmd/ipfs/ipfs
- uses: actions/checkout@v3
with:
repository: ipfs/go-ipfs-http-client
path: go-ipfs-http-client
- uses: protocol/cache-go-action@v1
with:
name: ${{ github.job }}
- run: echo '${{ github.workspace }}/cmd/ipfs' >> $GITHUB_PATH
- run: go test -count=1 -v ./...
working-directory: go-ipfs-http-client
ipfs-webui:
needs: [interop-prep]
runs-on: ubuntu-latest
runs-on: ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "2xlarge"]' || '"ubuntu-latest"') }}
timeout-minutes: 20
env:
NO_SANDBOX: true
Expand Down Expand Up @@ -191,14 +164,26 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-${{ github.job }}-
- run: |
npm ci --prefer-offline --no-audit --progress=false
npx playwright install
- env:
NPM_CACHE_DIR: ${{ steps.npm-cache-dir.outputs.dir }}
run: |
npm ci --prefer-offline --no-audit --progress=false --cache "$NPM_CACHE_DIR"
npx playwright install --with-deps
working-directory: ipfs-webui
- name: Run ipfs-webui@main build and smoke-test to confirm the upstream repo is not broken
run: npm test
- id: ref
run: echo "ref=$(git rev-parse --short HEAD)" | tee -a $GITHUB_OUTPUT
working-directory: ipfs-webui
- id: state
env:
GITHUB_REPOSITORY: ipfs/ipfs-webui
GITHUB_REF: ${{ steps.ref.outputs.ref }}
GITHUB_TOKEN: ${{ github.token }}
run: |
echo "state=$(curl -L -H "Authorization: Bearer $GITHUB_TOKEN" "https://api.github.com/repos/$GITHUB_REPOSITORY/commits/$GITHUB_REF/status" --jq '.state')" | tee -a $GITHUB_OUTPUT
- name: Build ipfs-webui@main (state=${{ steps.state.outputs.state }})
run: npm run test:build
working-directory: ipfs-webui
- name: Test ipfs-webui@main E2E against the locally built Kubo binary
- name: Test ipfs-webui@main (state=${{ steps.state.outputs.state }}) E2E against the locally built Kubo binary
run: npm run test:e2e
env:
IPFS_GO_EXEC: ${{ github.workspace }}/cmd/ipfs/ipfs
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ on:
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
paths-ignore:
- '**/*.md'
schedule:
- cron: '30 12 * * 2'

Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Docker Build
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'master'
Expand All @@ -25,6 +27,6 @@ jobs:
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.19.1
go-version: 1.19.x
- uses: actions/checkout@v3
- run: docker build -t $IMAGE_NAME:$WIP_IMAGE_TAG .
38 changes: 30 additions & 8 deletions .github/workflows/gateway-conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ on:
branches:
- master
pull_request:
paths-ignore:
- '**/*.md'

concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name == 'push' && github.sha || github.ref }}
Expand All @@ -21,7 +23,7 @@ jobs:
steps:
# 1. Download the gateway-conformance fixtures
- name: Download gateway-conformance fixtures
uses: ipfs/gateway-conformance/.github/actions/extract-fixtures@v0.0
uses: ipfs/gateway-conformance/.github/actions/extract-fixtures@v0.1
with:
output: fixtures

Expand All @@ -38,8 +40,8 @@ jobs:
run: make build
working-directory: kubo-gateway

# 3. Start the kubo-gateway
- name: Start kubo-gateway
# 3. Init the kubo-gateway
- name: Init kubo-gateway
env:
GATEWAY_PUBLIC_GATEWAYS: |
{
Expand All @@ -56,16 +58,36 @@ jobs:
run: |
./ipfs init
./ipfs config --json Gateway.PublicGateways "$GATEWAY_PUBLIC_GATEWAYS"
./ipfs daemon --offline &
working-directory: kubo-gateway/cmd/ipfs

# 4. Populate the Kubo gateway with the gateway-conformance fixtures
- name: Import fixtures
run: find ./fixtures -name '*.car' -exec kubo-gateway/cmd/ipfs/ipfs dag import --pin-roots=false {} \;
run: |
# Import car files
find ./fixtures -name '*.car' -exec kubo-gateway/cmd/ipfs/ipfs dag import --pin-roots=false {} \;

# Import ipns records
records=$(find ./fixtures -name '*.ipns-record')
for record in $records
do
key=$(basename -s .ipns-record "$record" | cut -d'_' -f1)
kubo-gateway/cmd/ipfs/ipfs routing put --allow-offline "/ipns/$key" "$record"
done

# Import dnslink records
# the IPFS_NS_MAP env will be used by the daemon
export IPFS_NS_MAP=$(cat ./fixtures/dnslinks.json | jq -r 'to_entries | map("\(.key).example.com:\(.value)") | join(",")')
echo "IPFS_NS_MAP=${IPFS_NS_MAP}" >> $GITHUB_ENV

# 5. Start the kubo-gateway
- name: Start kubo-gateway
run: |
./ipfs daemon --offline &
working-directory: kubo-gateway/cmd/ipfs

# 5. Run the gateway-conformance tests
# 6. Run the gateway-conformance tests
- name: Run gateway-conformance tests
uses: ipfs/gateway-conformance/.github/actions/test@v0.0
uses: ipfs/gateway-conformance/.github/actions/test@v0.1
with:
gateway-url: http://127.0.0.1:8080
json: output.json
Expand All @@ -74,7 +96,7 @@ jobs:
markdown: output.md
args: -skip 'TestGatewayCar/GET_response_for_application/vnd.ipld.car/Header_Content-Length'

# 6. Upload the results
# 7. Upload the results
- name: Upload MD summary
if: failure() || success()
run: cat output.md >> $GITHUB_STEP_SUMMARY
Expand Down
11 changes: 5 additions & 6 deletions .github/workflows/gobuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Go Build
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'master'
Expand All @@ -12,12 +14,9 @@ concurrency:
cancel-in-progress: true

jobs:
go-build-runner:
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
uses: ipfs/kubo/.github/workflows/runner.yml@master
go-build:
needs: [go-build-runner]
runs-on: ${{ fromJSON(needs.go-build-runner.outputs.config).labels }}
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
runs-on: ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "4xlarge"]' || '"ubuntu-latest"') }}
timeout-minutes: 20
env:
TEST_DOCKER: 0
Expand All @@ -31,7 +30,7 @@ jobs:
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.19.1
go-version: 1.19.x
- uses: actions/checkout@v3
- uses: protocol/cache-go-action@v1
with:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/golang-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Go Check
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'master'
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/golint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Go Lint
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'master'
Expand All @@ -29,7 +31,7 @@ jobs:
steps:
- uses: actions/setup-go@v3
with:
go-version: 1.19.1
go-version: 1.19.x
- uses: actions/checkout@v3
- uses: protocol/cache-go-action@v1
with:
Expand Down
16 changes: 9 additions & 7 deletions .github/workflows/gotest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ name: Go Test
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/*.md'
push:
branches:
- 'master'
Expand All @@ -12,12 +14,9 @@ concurrency:
cancel-in-progress: true

jobs:
go-test-runner:
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
uses: ipfs/kubo/.github/workflows/runner.yml@master
go-test:
needs: [go-test-runner]
runs-on: ${{ fromJSON(needs.go-test-runner.outputs.config).labels }}
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
runs-on: ${{ fromJSON(github.repository == 'ipfs/kubo' && '["self-hosted", "linux", "x64", "2xlarge"]' || '"ubuntu-latest"') }}
timeout-minutes: 20
env:
TEST_DOCKER: 0
Expand All @@ -33,16 +32,19 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.19.1
go-version: 1.19.x
- name: Check out Kubo
uses: actions/checkout@v3
- name: Restore Go cache
uses: protocol/cache-go-action@v1
with:
name: ${{ github.job }}
- name: 👉️ If this step failed, go to «Summary» (top left) → inspect the «Failures/Errors» table
env:
# increasing parallelism beyond 2 doesn't speed up the tests much
PARALLEL: 2
run: |
make -j 2 test/unit/gotest.junit.xml &&
make -j "$PARALLEL" test/unit/gotest.junit.xml &&
[[ ! $(jq -s -c 'map(select(.Action == "fail")) | .[]' test/unit/gotest.json) ]]
- name: Upload coverage to Codecov
uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0
Expand Down
34 changes: 0 additions & 34 deletions .github/workflows/runner.yml

This file was deleted.

Loading