mirror of
https://github.com/ipfs/kubo.git
synced 2026-03-04 15:58:13 +08:00
Merge pull request #9687 from ipfs/no-circleci
ci: remove circleci config
This commit is contained in:
commit
668d0b2fa4
@ -1,37 +0,0 @@
|
||||
version: 2.1
|
||||
setup: true
|
||||
orbs:
|
||||
continuation: circleci/continuation@0.2.0
|
||||
jobs:
|
||||
generate-params:
|
||||
executor: continuation/default
|
||||
steps:
|
||||
- checkout
|
||||
- run:
|
||||
name: Generate params
|
||||
# for builds on the ipfs/kubo repo, use 2xlarge for faster builds
|
||||
# but since this is not available for many contributors, we otherwise use medium
|
||||
command: |
|
||||
echo $CIRCLE_REPOSITORY_URL
|
||||
if [ "$CIRCLE_REPOSITORY_URL" = 'git@github.com:ipfs/kubo.git' ]; then
|
||||
resource_class=2xlarge
|
||||
make_jobs=10
|
||||
else
|
||||
resource_class=medium
|
||||
make_jobs=3
|
||||
fi
|
||||
cat \<<- EOF > params.json
|
||||
{
|
||||
"resource_class": "$resource_class",
|
||||
"make_jobs": "$make_jobs"
|
||||
}
|
||||
EOF
|
||||
cat params.json
|
||||
- continuation/continue:
|
||||
parameters: params.json
|
||||
configuration_path: .circleci/main.yml
|
||||
workflows:
|
||||
version: 2
|
||||
setup-workflow:
|
||||
jobs:
|
||||
- generate-params
|
||||
@ -1,404 +0,0 @@
|
||||
version: 2.1
|
||||
|
||||
parameters:
|
||||
resource_class:
|
||||
type: string
|
||||
default: medium
|
||||
make_jobs:
|
||||
type: string
|
||||
default: 3
|
||||
|
||||
aliases:
|
||||
make_out_dirs: &make_out_dirs
|
||||
run: mkdir -p /tmp/circleci-artifacts /tmp/circleci-workspace /tmp/circleci-test-results/{unit,sharness}
|
||||
restore_gomod: &restore_gomod
|
||||
restore_cache:
|
||||
keys:
|
||||
- v5-dep-{{ .Branch }}-{{ checksum "~/ipfs/kubo/go.sum" }}-{{ .Environment.CIRCLE_JOB }}
|
||||
- v5-dep-{{ .Branch }}-{{ checksum "~/ipfs/kubo/go.sum" }}-
|
||||
- v5-dep-{{ .Branch }}-
|
||||
- v5-dep-master-
|
||||
store_gomod: &store_gomod
|
||||
save_cache:
|
||||
key: v5-dep-{{ .Branch }}-{{ checksum "~/ipfs/kubo/go.sum" }}-{{ .Environment.CIRCLE_JOB }}
|
||||
paths:
|
||||
- ~/go/pkg/mod
|
||||
- ~/.cache/go-build/
|
||||
|
||||
default_environment: &default_environment
|
||||
SERVICE: circle-ci
|
||||
TRAVIS: 1
|
||||
CIRCLE: 1
|
||||
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
|
||||
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
|
||||
GIT_PAGER: cat
|
||||
|
||||
executors:
|
||||
golang:
|
||||
docker:
|
||||
- image: cimg/go:1.19.1
|
||||
working_directory: ~/ipfs/kubo
|
||||
environment:
|
||||
<<: *default_environment
|
||||
TEST_NO_DOCKER: 1
|
||||
TEST_NO_FUSE: 1
|
||||
TEST_VERBOSE: 1
|
||||
node:
|
||||
docker:
|
||||
- image: circleci/node:14
|
||||
working_directory: ~/ipfs/kubo
|
||||
environment:
|
||||
<<: *default_environment
|
||||
node-browsers:
|
||||
docker:
|
||||
- image: circleci/node:16.12.0-browsers
|
||||
working_directory: ~/ipfs/kubo
|
||||
environment:
|
||||
<<: *default_environment
|
||||
NO_SANDBOX: true
|
||||
LIBP2P_TCP_REUSEPORT: false
|
||||
LIBP2P_ALLOW_WEAK_RSA_KEYS: 1
|
||||
E2E_IPFSD_TYPE: go
|
||||
dockerizer:
|
||||
docker:
|
||||
- image: cimg/go:1.19.1
|
||||
environment:
|
||||
IMAGE_NAME: ipfs/kubo
|
||||
WIP_IMAGE_TAG: wip
|
||||
|
||||
jobs:
|
||||
gobuild:
|
||||
executor: golang
|
||||
resource_class: 2xlarge+
|
||||
steps:
|
||||
- checkout
|
||||
- *make_out_dirs
|
||||
- *restore_gomod
|
||||
- run:
|
||||
command: make cmd/ipfs-try-build
|
||||
environment:
|
||||
TEST_NO_FUSE: 0
|
||||
- run:
|
||||
command: make cmd/ipfs-try-build
|
||||
environment:
|
||||
TEST_NO_FUSE: 1
|
||||
- *store_gomod
|
||||
golint:
|
||||
executor: golang
|
||||
steps:
|
||||
- checkout
|
||||
- *make_out_dirs
|
||||
- *restore_gomod
|
||||
- run: |
|
||||
make -O test_go_lint
|
||||
- *store_gomod
|
||||
gotest:
|
||||
executor: golang
|
||||
steps:
|
||||
- checkout
|
||||
- *make_out_dirs
|
||||
- *restore_gomod
|
||||
|
||||
- run: |
|
||||
make -j 1 test/unit/gotest.junit.xml \
|
||||
&& [[ ! $(jq -s -c 'map(select(.Action == "fail")) | .[]' test/unit/gotest.json) ]]
|
||||
- run:
|
||||
when: always
|
||||
command: bash <(curl -s https://codecov.io/bash) -cF unittests -X search -f coverage/unit_tests.coverprofile
|
||||
- run:
|
||||
command: |
|
||||
# we want to first test with the kubo version in the go.mod file
|
||||
go test -v ./...
|
||||
|
||||
# we also want to test the examples against the current version of kubo
|
||||
# however, that version might be in a fork so we need to replace the dependency
|
||||
|
||||
# backup the go.mod and go.sum files to restore them after we run the tests
|
||||
cp go.mod go.mod.bak
|
||||
cp go.sum go.sum.bak
|
||||
|
||||
# make sure the examples run against the current version of kubo
|
||||
go mod edit -replace github.com/ipfs/kubo=./../../..
|
||||
go mod tidy
|
||||
|
||||
go test -v ./...
|
||||
|
||||
# restore the go.mod and go.sum files to their original state
|
||||
mv go.mod.bak go.mod
|
||||
mv go.sum.bak go.sum
|
||||
working_directory: ~/ipfs/kubo/docs/examples/kubo-as-a-library
|
||||
|
||||
- run:
|
||||
when: always
|
||||
command: mv "test/unit/gotest.junit.xml" /tmp/circleci-test-results/unit
|
||||
|
||||
- *store_gomod
|
||||
|
||||
- store_test_results:
|
||||
path: /tmp/circleci-test-results
|
||||
# Save artifacts
|
||||
- store_artifacts:
|
||||
path: /tmp/circleci-artifacts
|
||||
- store_artifacts:
|
||||
path: /tmp/circleci-test-results
|
||||
sharness:
|
||||
machine:
|
||||
image: ubuntu-2204:2022.10.1
|
||||
resource_class: << pipeline.parameters.resource_class >>
|
||||
working_directory: ~/ipfs/kubo
|
||||
environment:
|
||||
<<: *default_environment
|
||||
TEST_NO_DOCKER: 0
|
||||
TEST_NO_PLUGIN: 1
|
||||
TEST_NO_FUSE: 1
|
||||
TEST_VERBOSE: 1
|
||||
TEST_JUNIT: 1
|
||||
TEST_EXPENSIVE: 1
|
||||
steps:
|
||||
- run: sudo apt update
|
||||
- run: |
|
||||
mkdir ~/localgo && cd ~/localgo
|
||||
wget https://golang.org/dl/go1.19.1.linux-amd64.tar.gz
|
||||
tar xfz go1.19.1.linux-amd64.tar.gz
|
||||
echo "export PATH=$(pwd)/go/bin:\$PATH" >> ~/.bashrc
|
||||
- run: go version
|
||||
- run: sudo apt install socat net-tools fish libxml2-utils
|
||||
- checkout
|
||||
|
||||
- run:
|
||||
mkdir rb-pinning-service-api &&
|
||||
cd rb-pinning-service-api &&
|
||||
git init &&
|
||||
git remote add origin https://github.com/ipfs-shipyard/rb-pinning-service-api.git &&
|
||||
git fetch --depth 1 origin 773c3adbb421c551d2d89288abac3e01e1f7c3a8 &&
|
||||
git checkout FETCH_HEAD
|
||||
- run:
|
||||
cd rb-pinning-service-api &&
|
||||
(for i in {1..3}; do docker-compose pull && break || sleep 5; done) &&
|
||||
docker-compose up -d
|
||||
|
||||
- *make_out_dirs
|
||||
- *restore_gomod
|
||||
|
||||
- run:
|
||||
name: Setup Environment Variables
|
||||
# we need the docker host IP; all ports exported by child containers can be accessed there.
|
||||
command: echo "export TEST_DOCKER_HOST=$(ip -4 addr show docker0 | grep -Po 'inet \K[\d.]+')" >> $BASH_ENV
|
||||
- run:
|
||||
echo TEST_DOCKER_HOST=$TEST_DOCKER_HOST &&
|
||||
make -O -j << pipeline.parameters.make_jobs >> test_sharness coverage/sharness_tests.coverprofile test/sharness/test-results/sharness.xml CONTINUE_ON_S_FAILURE=1 TEST_DOCKER_HOST=$TEST_DOCKER_HOST
|
||||
- run:
|
||||
when: always
|
||||
command: bash <(curl -s https://codecov.io/bash) -cF sharness -X search -f coverage/sharness_tests.coverprofile
|
||||
|
||||
- run: mv "test/sharness/test-results/sharness.xml" /tmp/circleci-test-results/sharness
|
||||
# make sure we fail if there are test failures
|
||||
- run: find test/sharness/test-results -name 't*-*.sh.*.counts' | test/sharness/lib/sharness/aggregate-results.sh | grep 'failed\s*0'
|
||||
|
||||
- *store_gomod
|
||||
|
||||
- store_test_results:
|
||||
path: /tmp/circleci-test-results
|
||||
# Save artifacts
|
||||
- store_artifacts:
|
||||
path: /tmp/circleci-artifacts
|
||||
- store_artifacts:
|
||||
path: /tmp/circleci-test-results
|
||||
build:
|
||||
executor: golang
|
||||
steps:
|
||||
- checkout
|
||||
- *make_out_dirs
|
||||
- *restore_gomod
|
||||
- run:
|
||||
name: Building
|
||||
command: make build
|
||||
- run:
|
||||
name: Storing
|
||||
command: |
|
||||
mkdir -p /tmp/circleci-workspace/bin
|
||||
cp cmd/ipfs/ipfs /tmp/circleci-workspace/bin
|
||||
- persist_to_workspace:
|
||||
root: /tmp/circleci-workspace
|
||||
paths:
|
||||
- bin/ipfs
|
||||
- *store_gomod
|
||||
interop:
|
||||
docker:
|
||||
- image: cimg/go:1.19.1-node
|
||||
parallelism: 4
|
||||
resource_class: 2xlarge+
|
||||
steps:
|
||||
- *make_out_dirs
|
||||
- attach_workspace:
|
||||
at: /tmp/circleci-workspace
|
||||
- restore_cache:
|
||||
keys:
|
||||
- v2-interop-{{ .Branch }}-{{ .Revision }}
|
||||
- v2-interop-{{ .Branch }}-
|
||||
- v2-interop-
|
||||
- run:
|
||||
name: Installing dependencies
|
||||
command: |
|
||||
npm init -y
|
||||
npm install ipfs@^0.66.0
|
||||
npm install kubo-rpc-client@^3.0.1
|
||||
npm install ipfs-interop@^10.0.1
|
||||
npm install mocha-circleci-reporter@0.0.3
|
||||
working_directory: ~/ipfs/kubo/interop
|
||||
- run:
|
||||
name: Running tests
|
||||
command: |
|
||||
mkdir -p /tmp/test-results/interop/
|
||||
export MOCHA_FILE="$(mktemp /tmp/test-results/interop/unit.XXXXXX.xml)"
|
||||
npx ipfs-interop -- -t node -f $(sed -n -e "s|^import '\(.*\)'$|test/\1|p" node_modules/ipfs-interop/test/node.js | circleci tests split --split-by=timings) -- --reporter mocha-circleci-reporter
|
||||
working_directory: ~/ipfs/kubo/interop
|
||||
environment:
|
||||
LIBP2P_TCP_REUSEPORT: false
|
||||
LIBP2P_ALLOW_WEAK_RSA_KEYS: 1
|
||||
IPFS_GO_EXEC: /tmp/circleci-workspace/bin/ipfs
|
||||
- store_test_results:
|
||||
path: /tmp/test-results
|
||||
- save_cache:
|
||||
key: v2-interop-{{ .Branch }}-{{ .Revision }}
|
||||
paths:
|
||||
- ~/ipfs/kubo/interop/node_modules
|
||||
go-ipfs-api:
|
||||
executor: golang
|
||||
steps:
|
||||
- *make_out_dirs
|
||||
- attach_workspace:
|
||||
at: /tmp/circleci-workspace
|
||||
- run:
|
||||
name: Cloning
|
||||
command: |
|
||||
git clone https://github.com/ipfs/go-ipfs-api.git
|
||||
git -C go-ipfs-api log -1
|
||||
- run:
|
||||
name: Starting the daemon
|
||||
command: /tmp/circleci-workspace/bin/ipfs daemon --init --enable-namesys-pubsub
|
||||
background: true
|
||||
- run:
|
||||
name: Waiting for the daemon
|
||||
no_output_timeout: 30s
|
||||
command: |
|
||||
while ! /tmp/circleci-workspace/bin/ipfs id --api=/ip4/127.0.0.1/tcp/5001 2>/dev/null; do
|
||||
sleep 1
|
||||
done
|
||||
- restore_cache:
|
||||
keys:
|
||||
- v1-go-api-{{ checksum "~/ipfs/kubo/go-ipfs-api/go.sum" }}
|
||||
- v1-go-api-
|
||||
- run:
|
||||
command: go test -count=1 -v ./...
|
||||
working_directory: ~/ipfs/kubo/go-ipfs-api
|
||||
- save_cache:
|
||||
key: v2-go-api-{{ checksum "~/ipfs/kubo/go-ipfs-api/go.sum" }}
|
||||
paths:
|
||||
- ~/go/pkg/mod
|
||||
- ~/.cache/go-build/
|
||||
- run:
|
||||
name: Stopping the daemon
|
||||
command: /tmp/circleci-workspace/bin/ipfs shutdown
|
||||
go-ipfs-http-client:
|
||||
executor: golang
|
||||
steps:
|
||||
- *make_out_dirs
|
||||
- attach_workspace:
|
||||
at: /tmp/circleci-workspace
|
||||
- run:
|
||||
name: Cloning
|
||||
command: |
|
||||
git clone https://github.com/ipfs/go-ipfs-http-client.git -b bump-for-rcmgr-last-push
|
||||
git -C go-ipfs-http-client log -1
|
||||
- restore_cache:
|
||||
keys:
|
||||
- v1-http-client-{{ checksum "~/ipfs/kubo/go-ipfs-http-client/go.sum" }}
|
||||
- v1-http-client-
|
||||
- run:
|
||||
name: go test -count=1 -v ./...
|
||||
command: |
|
||||
export PATH=/tmp/circleci-workspace/bin:$PATH
|
||||
go test -count=1 -v ./...
|
||||
working_directory: ~/ipfs/kubo/go-ipfs-http-client
|
||||
- save_cache:
|
||||
key: v1-http-client-{{ checksum "~/ipfs/kubo/go-ipfs-http-client/go.sum" }}
|
||||
paths:
|
||||
- ~/go/pkg/mod
|
||||
- ~/.cache/go-build/
|
||||
ipfs-webui:
|
||||
executor: node-browsers
|
||||
resource_class: 2xlarge+
|
||||
steps:
|
||||
- *make_out_dirs
|
||||
- attach_workspace:
|
||||
at: /tmp/circleci-workspace
|
||||
- run:
|
||||
name: Cloning
|
||||
command: |
|
||||
git clone https://github.com/ipfs/ipfs-webui.git
|
||||
git -C ipfs-webui log -1
|
||||
- restore_cache:
|
||||
keys:
|
||||
- v1-ipfs-webui-{{ checksum "~/ipfs/kubo/ipfs-webui/package-lock.json" }}
|
||||
- v1-ipfs-webui-
|
||||
- run:
|
||||
name: Installing dependencies
|
||||
command: |
|
||||
npm ci --prefer-offline --no-audit --progress=false --cache ~/ipfs/kubo/.cache/npm
|
||||
npx playwright install
|
||||
working_directory: ~/ipfs/kubo/ipfs-webui
|
||||
- run:
|
||||
name: Run ipfs-webui@main build and smoke-test to confirm the upstream repo is not broken
|
||||
command: |
|
||||
npm test
|
||||
working_directory: ~/ipfs/kubo/ipfs-webui
|
||||
- run:
|
||||
name: Test ipfs-webui@main E2E against the locally built Kubo binary
|
||||
command: npm run test:e2e
|
||||
working_directory: ~/ipfs/kubo/ipfs-webui
|
||||
environment:
|
||||
IPFS_GO_EXEC: /tmp/circleci-workspace/bin/ipfs
|
||||
- save_cache:
|
||||
key: v1-ipfs-webui-{{ checksum "~/ipfs/kubo/ipfs-webui/package-lock.json" }}
|
||||
paths:
|
||||
- ~/.cache/ms-playwright
|
||||
- ~/ipfs/kubo/.cache/npm
|
||||
# We only run build as a test here. DockerHub images are built and published
|
||||
# by GitHub Action now: https://github.com/ipfs/kubo/pull/8467
|
||||
docker-build:
|
||||
executor: dockerizer
|
||||
steps:
|
||||
- checkout
|
||||
- setup_remote_docker:
|
||||
version: "19.03.13"
|
||||
- run:
|
||||
name: Build Docker image
|
||||
command: |
|
||||
docker build -t $IMAGE_NAME:$WIP_IMAGE_TAG .
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
|
||||
# Runs for all branches, but not on tags
|
||||
# see: https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag
|
||||
test:
|
||||
jobs:
|
||||
- gobuild
|
||||
- golint
|
||||
- gotest
|
||||
- sharness
|
||||
- build
|
||||
- interop:
|
||||
requires:
|
||||
- build
|
||||
- go-ipfs-api:
|
||||
requires:
|
||||
- build
|
||||
- go-ipfs-http-client:
|
||||
requires:
|
||||
- build
|
||||
- ipfs-webui:
|
||||
requires:
|
||||
- build
|
||||
- docker-build
|
||||
14
.github/workflows/build.yml
vendored
14
.github/workflows/build.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: 'ci/gh-experiment: interop'
|
||||
name: Interop
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -11,7 +11,7 @@ env:
|
||||
GO_VERSION: 1.19.1
|
||||
|
||||
jobs:
|
||||
prepare:
|
||||
interop-prep:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
@ -38,8 +38,8 @@ jobs:
|
||||
with:
|
||||
name: kubo
|
||||
path: cmd/ipfs/ipfs
|
||||
ipfs-interop:
|
||||
needs: [prepare]
|
||||
interop:
|
||||
needs: [interop-prep]
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
defaults:
|
||||
@ -77,7 +77,7 @@ jobs:
|
||||
IPFS_GO_EXEC: ${{ github.workspace }}/cmd/ipfs/ipfs
|
||||
working-directory: interop
|
||||
go-ipfs-api:
|
||||
needs: [prepare]
|
||||
needs: [interop-prep]
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
env:
|
||||
@ -117,7 +117,7 @@ jobs:
|
||||
- run: cmd/ipfs/ipfs shutdown
|
||||
if: always()
|
||||
go-ipfs-http-client:
|
||||
needs: [prepare]
|
||||
needs: [interop-prep]
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
env:
|
||||
@ -151,7 +151,7 @@ jobs:
|
||||
- run: go test -count=1 -v ./...
|
||||
working-directory: go-ipfs-http-client
|
||||
ipfs-webui:
|
||||
needs: [prepare]
|
||||
needs: [interop-prep]
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
env:
|
||||
|
||||
13
.github/workflows/codeql-analysis.yml
vendored
13
.github/workflows/codeql-analysis.yml
vendored
@ -16,20 +16,11 @@ permissions:
|
||||
security-events: write # (github/codeql-action/autobuild)
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
codeql:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'go' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||
# Learn more:
|
||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
@ -38,7 +29,7 @@ jobs:
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v2
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
languages: go
|
||||
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v2
|
||||
|
||||
2
.github/workflows/docker-build.yml
vendored
2
.github/workflows/docker-build.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: 'ci/gh-experiment: docker-build'
|
||||
name: Docker Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
4
.github/workflows/docker-image.yml
vendored
4
.github/workflows/docker-image.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Publish Docker image
|
||||
name: Docker Push
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -13,7 +13,7 @@ permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
push_to_registry:
|
||||
docker-hub:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
name: Push Docker image to Docker Hub
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
10
.github/workflows/gobuild.yml
vendored
10
.github/workflows/gobuild.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: 'ci/gh-experiment: go build'
|
||||
name: Go Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -8,12 +8,12 @@ on:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
runner:
|
||||
go-build-runner:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
uses: ipfs/kubo/.github/workflows/runner.yml@master
|
||||
gobuild:
|
||||
needs: [runner]
|
||||
runs-on: ${{ fromJSON(needs.runner.outputs.config).labels }}
|
||||
go-build:
|
||||
needs: [go-build-runner]
|
||||
runs-on: ${{ fromJSON(needs.go-build-runner.outputs.config).labels }}
|
||||
timeout-minutes: 20
|
||||
env:
|
||||
TEST_NO_DOCKER: 1
|
||||
|
||||
5
.github/workflows/golang-analysis.yml
vendored
5
.github/workflows/golang-analysis.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Go Checks
|
||||
name: Go Check
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -11,11 +11,10 @@ permissions:
|
||||
contents: read # to fetch code (actions/checkout)
|
||||
|
||||
jobs:
|
||||
unit:
|
||||
go-check:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
name: All
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
|
||||
4
.github/workflows/golint.yml
vendored
4
.github/workflows/golint.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: 'ci/gh-experiment: go lint'
|
||||
name: Go Lint
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -8,7 +8,7 @@ on:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
golint:
|
||||
go-lint:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
|
||||
4
.github/workflows/gotest.yml
vendored
4
.github/workflows/gotest.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: 'ci/gh-experiment: go test'
|
||||
name: Go Test
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -8,7 +8,7 @@ on:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
gotest:
|
||||
go-test:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 20
|
||||
|
||||
2
.github/workflows/runner.yml
vendored
2
.github/workflows/runner.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: 'ci/gh-experiment: choose runner'
|
||||
name: Runner
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
22
.github/workflows/sharness.yml
vendored
22
.github/workflows/sharness.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: 'ci/gh-experiment: sharness'
|
||||
name: Sharness
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -8,12 +8,12 @@ on:
|
||||
- 'master'
|
||||
|
||||
jobs:
|
||||
runner:
|
||||
sharness-runner:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
uses: ipfs/kubo/.github/workflows/runner.yml@master
|
||||
sharness:
|
||||
needs: [runner]
|
||||
runs-on: ${{ fromJSON(needs.runner.outputs.config).labels }}
|
||||
sharness-test:
|
||||
needs: [sharness-runner]
|
||||
runs-on: ${{ fromJSON(needs.sharness-runner.outputs.config).labels }}
|
||||
timeout-minutes: 20
|
||||
defaults:
|
||||
run:
|
||||
@ -67,7 +67,7 @@ jobs:
|
||||
TEST_EXPENSIVE: 1
|
||||
IPFS_CHECK_RCMGR_DEFAULTS: 1
|
||||
CONTINUE_ON_S_FAILURE: 1
|
||||
PARALLEL: ${{ fromJSON(needs.runner.outputs.config).parallel }}
|
||||
PARALLEL: ${{ fromJSON(needs.sharness-runner.outputs.config).parallel }}
|
||||
- name: Upload coverage report
|
||||
uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 # v3.1.0
|
||||
if: failure() || success()
|
||||
@ -96,12 +96,12 @@ jobs:
|
||||
- name: Upload one-page HTML report to S3
|
||||
id: one-page
|
||||
uses: pl-strflt/tf-aws-gh-runner/.github/actions/upload-artifact@main
|
||||
if: fromJSON(needs.runner.outputs.config).aws && (failure() || success())
|
||||
if: fromJSON(needs.sharness-runner.outputs.config).aws && (failure() || success())
|
||||
with:
|
||||
source: kubo/test/sharness/test-results/sharness.html
|
||||
destination: sharness.html
|
||||
- name: Upload one-page HTML report
|
||||
if: (! fromJSON(needs.runner.outputs.config).aws) && (failure() || success())
|
||||
if: (! fromJSON(needs.sharness-runner.outputs.config).aws) && (failure() || success())
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sharness.html
|
||||
@ -116,18 +116,18 @@ jobs:
|
||||
- name: Upload full HTML report to S3
|
||||
id: full
|
||||
uses: pl-strflt/tf-aws-gh-runner/.github/actions/upload-artifact@main
|
||||
if: fromJSON(needs.runner.outputs.config).aws && (failure() || success())
|
||||
if: fromJSON(needs.sharness-runner.outputs.config).aws && (failure() || success())
|
||||
with:
|
||||
source: kubo/test/sharness/test-results/sharness-html
|
||||
destination: sharness-html/
|
||||
- name: Upload full HTML report
|
||||
if: (! fromJSON(needs.runner.outputs.config).aws) && (failure() || success())
|
||||
if: (! fromJSON(needs.sharness-runner.outputs.config).aws) && (failure() || success())
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: sharness-html
|
||||
path: kubo/test/sharness/test-results/sharness-html
|
||||
- name: Add S3 links to the summary
|
||||
if: fromJSON(needs.runner.outputs.config).aws && (failure() || success())
|
||||
if: fromJSON(needs.sharness-runner.outputs.config).aws && (failure() || success())
|
||||
run: echo "$MD" >> $GITHUB_STEP_SUMMARY
|
||||
env:
|
||||
MD: |
|
||||
|
||||
4
.github/workflows/sync-release-assets.yml
vendored
4
.github/workflows/sync-release-assets.yml
vendored
@ -1,4 +1,4 @@
|
||||
name: Sync github release assets with dist.ipfs.tech
|
||||
name: Sync GitHub Release Assets
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
@ -13,7 +13,7 @@ permissions:
|
||||
contents: write # to upload release asset
|
||||
|
||||
jobs:
|
||||
sync-github-and-dist-ipfs-tech:
|
||||
dist-ipfs-tech:
|
||||
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
||||
runs-on: "ubuntu-latest"
|
||||
timeout-minutes: 5
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
|
||||
[](https://protocol.ai)
|
||||
[](https://godoc.org/github.com/ipfs/kubo)
|
||||
[](https://circleci.com/gh/ipfs/kubo)
|
||||
|
||||
## What is Kubo?
|
||||
|
||||
@ -33,7 +32,7 @@ Before opening an issue, consider using one of the following locations to ensure
|
||||
- Exploration of new ideas in [ipfs/notes issues](https://github.com/ipfs/notes/issues).
|
||||
- Ask questions and meet the rest of the community at the [IPFS Forum](https://discuss.ipfs.tech).
|
||||
- Or [chat with us](https://docs.ipfs.tech/community/chat/).
|
||||
|
||||
|
||||
[](https://www.youtube.com/channel/UCdjsUXJ3QawK4O5L1kqqsew) [](https://twitter.com/IPFS)
|
||||
|
||||
## Next milestones
|
||||
@ -68,7 +67,7 @@ Before opening an issue, consider using one of the following locations to ensure
|
||||
- [Unofficial MacOS packages](#unofficial-macos-packages)
|
||||
- [MacPorts](#macports)
|
||||
- [Nix](#nix-macos)
|
||||
- [Homebrew](#homebrew)
|
||||
- [Homebrew](#homebrew)
|
||||
- [Build from Source](#build-from-source)
|
||||
- [Install Go](#install-go)
|
||||
- [Download and Compile IPFS](#download-and-compile-ipfs)
|
||||
|
||||
@ -6,16 +6,13 @@
|
||||
# ./get-docker-tags.sh <build number> <git commit sha1> <git branch name> [git tag name]
|
||||
#
|
||||
# Example:
|
||||
#
|
||||
#
|
||||
# # get tag for the master branch
|
||||
# ./get-docker-tags.sh $(date -u +%F) testingsha master
|
||||
#
|
||||
# # get tag for a release tag
|
||||
# ./get-docker-tags.sh $(date -u +%F) testingsha release v0.5.0
|
||||
#
|
||||
# # Serving suggestion in circle ci - https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables
|
||||
# ./get-docker-tags.sh $(date -u +%F) "$CIRCLE_SHA1" "$CIRCLE_BRANCH" "$CIRCLE_TAG"
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -lt 1 ]] ; then
|
||||
|
||||
@ -41,7 +41,6 @@ IGNORE_FILES=(
|
||||
"go.mod"
|
||||
"go.sum"
|
||||
".github"
|
||||
".circleci"
|
||||
"*.pb.go"
|
||||
"cbor_gen.go"
|
||||
"ipldsch_*.go"
|
||||
|
||||
@ -2,11 +2,10 @@
|
||||
|
||||
# push-docker-tags.sh
|
||||
#
|
||||
# Run from ci to tag images based on the current branch or tag name.
|
||||
# Run from ci to tag images based on the current branch or tag name.
|
||||
# A bit like dockerhub autobuild config, but somewhere we can version control it.
|
||||
#
|
||||
# The `docker-build` job in .circleci/config.yml builds the current commit
|
||||
# in docker and tags it as ipfs/go-ipfs:wip
|
||||
#
|
||||
# The `docker-build` job builds the current commit in docker and tags it as ipfs/go-ipfs:wip
|
||||
#
|
||||
# Then the `docker-publish` job runs this script to decide what tag, if any,
|
||||
# to publish to dockerhub.
|
||||
@ -17,16 +16,13 @@
|
||||
# Example:
|
||||
# # dry run. pass a 5th arg to have it print what it would do rather than do it.
|
||||
# ./push-docker-tags.sh $(date -u +%F) testingsha master "" dryrun
|
||||
#
|
||||
#
|
||||
# # push tag for the master branch
|
||||
# ./push-docker-tags.sh $(date -u +%F) testingsha master
|
||||
#
|
||||
# # push tag for a release tag
|
||||
# ./push-docker-tags.sh $(date -u +%F) testingsha release v0.5.0
|
||||
#
|
||||
# # Serving suggestion in circle ci - https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables
|
||||
# ./push-docker-tags.sh $(date -u +%F) "$CIRCLE_SHA1" "$CIRCLE_BRANCH" "$CIRCLE_TAG"
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
if [[ $# -lt 1 ]] ; then
|
||||
|
||||
@ -1,10 +1,9 @@
|
||||
codecov:
|
||||
ci:
|
||||
- "ci/circle-ci"
|
||||
- "!travis-ci.org"
|
||||
- "!ci.ipfs.team:8111"
|
||||
- "!ci.ipfs.team"
|
||||
- "!github.com"
|
||||
- "github.com"
|
||||
notify:
|
||||
require_ci_to_pass: no
|
||||
after_n_builds: 2
|
||||
|
||||
Loading…
Reference in New Issue
Block a user