Skip to content

Commit

Permalink
Merge branch 'master' into release
Browse files Browse the repository at this point in the history
  • Loading branch information
Stebalien committed Apr 28, 2020
2 parents 5b1687d + 36789ea commit fd6b59b
Show file tree
Hide file tree
Showing 363 changed files with 11,726 additions and 9,366 deletions.
111 changes: 90 additions & 21 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,21 @@ aliases:
restore_gomod: &restore_gomod
restore_cache:
keys:
- v4-dep-{{ .Branch }}-{{ checksum "~/ipfs/go-ipfs/go.sum" }}-{{ .Environment.CIRCLE_JOB }}
- v4-dep-{{ .Branch }}-{{ checksum "~/ipfs/go-ipfs/go.sum" }}-
- v4-dep-{{ .Branch }}-
- v4-dep-master-
- v5-dep-{{ .Branch }}-{{ checksum "~/ipfs/go-ipfs/go.sum" }}-{{ .Environment.CIRCLE_JOB }}
- v5-dep-{{ .Branch }}-{{ checksum "~/ipfs/go-ipfs/go.sum" }}-
- v5-dep-{{ .Branch }}-
- v5-dep-master-
store_gomod: &store_gomod
save_cache:
key: v4-dep-{{ .Branch }}-{{ checksum "~/ipfs/go-ipfs/go.sum" }}-{{ .Environment.CIRCLE_JOB }}
key: v5-dep-{{ .Branch }}-{{ checksum "~/ipfs/go-ipfs/go.sum" }}-{{ .Environment.CIRCLE_JOB }}
paths:
- ~/go/pkg/mod
- ~/.cache/go-build/
only-version-tags: &only-version-tags
tags:
only: /^v[0-9].*/
branches:
ignore: /.*/

default_environment: &default_environment
SERVICE: circle-ci
Expand All @@ -27,12 +32,8 @@ default_environment: &default_environment

executors:
golang:
parameters:
tag:
type: string
default: "1.12"
docker:
- image: circleci/golang:<< parameters.tag >>
- image: circleci/golang:1.13.8
working_directory: ~/ipfs/go-ipfs
environment:
<<: *default_environment
Expand All @@ -57,6 +58,12 @@ executors:
IPFS_REUSEPORT: false
LIBP2P_ALLOW_WEAK_RSA_KEYS: 1
E2E_IPFSD_TYPE: go
dockerizer:
docker:
- image: circleci/golang:1.13.8
environment:
IMAGE_NAME: ipfs/go-ipfs
WIP_IMAGE_TAG: wip

jobs:
gobuild:
Expand Down Expand Up @@ -170,22 +177,17 @@ jobs:
git -C interop log -1
- restore_cache:
keys:
- v1-interop-{{ checksum "~/ipfs/go-ipfs/interop/package-lock.json" }}
- v1-interop-
- v2-interop-{{ checksum "~/ipfs/go-ipfs/interop/package-lock.json" }}
- v2-interop-
- run:
name: Installing dependencies
command: |
npm install
working_directory: ~/ipfs/go-ipfs/interop
- save_cache:
key: v1-interop-{{ checksum "~/ipfs/go-ipfs/interop/package-lock.json" }}
key: v2-interop-{{ checksum "~/ipfs/go-ipfs/interop/package-lock.json" }}
paths:
- ~/ipfs/go-ipfs/interop/node_modules
- run:
name: Installing js-ipfs
command: |
npm install ipfs ipfs-http-client
working_directory: ~/ipfs/go-ipfs/interop
- run:
name: Installing reporting tools
command: |
Expand All @@ -207,9 +209,7 @@ jobs:
- store_test_results:
path: /tmp/test-results
go-ipfs-api:
executor:
name: golang
tag: "1.13"
executor: golang
steps:
- *make_out_dirs
- attach_workspace:
Expand Down Expand Up @@ -306,8 +306,45 @@ jobs:
key: v1-ipfs-webui-{{ checksum "~/ipfs/go-ipfs/ipfs-webui/package-lock.json" }}
paths:
- ~/ipfs/go-ipfs/ipfs-webui/node_modules
docker-build:
executor: dockerizer
steps:
- checkout
- setup_remote_docker:
version: "18.09.3"
- run:
name: Build Docker image
command: |
docker build -t $IMAGE_NAME:$WIP_IMAGE_TAG .
- run:
name: Archive Docker image
command: docker save -o go-ipfs-image.tar $IMAGE_NAME
- persist_to_workspace:
root: .
paths:
- ./go-ipfs-image.tar
docker-push:
executor: dockerizer
steps:
- checkout
- setup_remote_docker:
version: "18.09.3"
- attach_workspace:
at: /tmp/workspace
- run:
name: Load archived Docker image
command: docker load -i /tmp/workspace/go-ipfs-image.tar
- run:
name: Publish Docker Image to Docker Hub
command: |
echo "$DOCKERHUB_PASS" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
./bin/push-docker-tags.sh $(date -u +%F) "$CIRCLE_SHA1" "$CIRCLE_BRANCH" "$CIRCLE_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
Expand All @@ -327,3 +364,35 @@ workflows:
- ipfs-webui:
requires:
- build
- docker-build
- docker-push:
# Requires dockerhub credentials, from circleci context.
context: dockerhub
requires:
- docker-build
- golint
- gotest
- sharness
- interop
- go-ipfs-api
- go-ipfs-http-client
- ipfs-webui
filters:
branches:
only:
- master
- feat/stabilize-dht

# NOTE: CircleCI only builds tags if you explicitly filter for them. That
# also means tag-based jobs can only depend on other tag-based jobs, so we
# use a separate workflow because every job needs to be tagged together.
# see: https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag
docker-on-tag:
jobs:
- docker-build:
filters: *only-version-tags
- docker-push:
context: dockerhub
filters: *only-version-tags
requires:
- docker-build
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ LICENSE text eol=auto
*.png binary
*.tar binary
*.gz binary
*.xz binary
*.car binary

# Binary assets
assets/init-doc/* binary
Expand Down
3 changes: 1 addition & 2 deletions .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
---
name: 'Bug Report'
about: 'Report a bug in go-ipfs.'
labels:
- bug
labels: kind/bug, need/triage
---

#### Version information:
Expand Down
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
blank_issues_enabled: false
contact_links:
- name: Getting Help on IPFS
url: https://ipfs.io/help
about: All information about how and where to get help on IPFS.
- name: Go-ipfs configuration reference
url: https://github.com/ipfs/go-ipfs/blob/master/docs/config.md
about: Documentation on the different configuration settings
- name: Go-ipfs experimental features docs
url: https://github.com/ipfs/go-ipfs/blob/master/docs/experimental-features.md
about: Documentation on Private Networks, Filestore and other experimental features.
- name: HTTP API Reference
url: https://docs-beta.ipfs.io/reference/http/api/#api-v0-add
about: Documentation of all go-ipfs HTTP API endpoints.
- name: IPFS Official Forum
url: https://discuss.ipfs.io
about: Please post general questions, support requests, and discussions here.
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE/doc.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
name: 'Documentation Issue'
about: 'Report missing/erroneous documentation, propose new documentation, report broken links, etc.'
labels:
- documentation
about: 'Report missing, erroneous docs, broken links or propose new go-ipfs docs'
labels: topic/docs-ipfs, need/triage
---
<!-- Problems with documentation on https://docs.ipfs.io should be reported to https://github.com/ipfs/docs -->

#### Location

<!-- In the case of missing/erroneous documentation, where is the error? If possible, a link/url would be great! -->
<!-- In the case of missing/erroneous documentation, where is the error? If possible, a link/URL would be great! -->

#### Description

Expand Down
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/enhancement.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
---
name: 'Enhancement'
about: 'Suggest an improvement to an existing go-ipfs feature.'
labels:
- enhancement
labels: kind/enhancement
---

<!--
Note: If you'd like to suggest an idea related to IPFS but not specifically related to the go implementation, please file an issue at https://github.com/ipfs/ipfs instead
Note: If you'd like to suggest an idea related to IPFS but not specifically related to the Go implementation, please post in https://discuss.ipfs.io instead.
When requesting an _enhancement_, please be sure to include your motivation and try to be as specific as possible.
-->
5 changes: 2 additions & 3 deletions .github/ISSUE_TEMPLATE/feature.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
---
name: 'Feature'
about: 'Suggest a new feature in go-ipfs.'
labels:
- feature
labels: kind/feature, need/triage
---

<!--
Note: If you'd like to suggest an idea related to IPFS but not specifically related to the go implementation, please file an issue at https://github.com/ipfs/ipfs instead
Note: If you'd like to suggest an idea related to IPFS but not specifically related to the Go implementation, please post in https://discuss.ipfs.io instead.
When requesting a _feature_, please be sure to include:
* Your motivation. Why do you need the feature?
Expand Down
11 changes: 0 additions & 11 deletions .github/ISSUE_TEMPLATE/question.md

This file was deleted.

3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ gx-workspace-update.json

.ipfs
bin/gx
bin/protoc-*
bin/gx*
bin/tmp
bin/gocovmerge
Expand All @@ -24,3 +25,5 @@ bin/cover
vendor
.tarball
go-ipfs-source.tar.gz
docs/examples/go-ipfs-as-a-library/example-folder/Qm*
/test/sharness/t0054-dag-car-import-export-data/*.car
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "assets/dir-index-html"]
path = assets/dir-index-html
url = https://github.com/ipfs/dir-index-html.git
Loading

0 comments on commit fd6b59b

Please sign in to comment.