From 7b9819e5263203eb437dfa4889363ad67f96721e Mon Sep 17 00:00:00 2001 From: galargh <piotr.galar@gmail.com> Date: Thu, 2 Mar 2023 09:07:56 +0100 Subject: [PATCH] ci: remove circleci config --- .circleci/config.yml | 37 ---- .circleci/main.yml | 404 ------------------------------------------- 2 files changed, 441 deletions(-) delete mode 100644 .circleci/config.yml delete mode 100644 .circleci/main.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 3da57d246..000000000 --- a/.circleci/config.yml +++ /dev/null @@ -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 diff --git a/.circleci/main.yml b/.circleci/main.yml deleted file mode 100644 index b6be1d914..000000000 --- a/.circleci/main.yml +++ /dev/null @@ -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 -- GitLab