From 580dcd596cddc5ac3ebe1835f60b24e356adc363 Mon Sep 17 00:00:00 2001 From: suyuan <175338101@qq.com> Date: Wed, 23 Jun 2021 10:57:09 +0800 Subject: [PATCH] fix --- .circleci/config.yml | 751 +++++++++++++++++++++++++++++++++++++ .github/workflows/main.yml | 7 +- README.md | 20 +- 3 files changed, 764 insertions(+), 14 deletions(-) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 000000000..f72307d01 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,751 @@ +version: 2 +jobs: + prepare: + machine: + image: ubuntu-1604:201903-01 + + working_directory: ~/ + + steps: + - run: + name: Prepare + command: | + sudo rm -rf /var/lib/apt/lists/lock + sudo apt-get update + sudo rm -rf /var/lib/apt/lists/lock + sudo apt-get install -yq build-essential git unzip ncurses-dev libz-dev libssl-dev python subversion gettext gawk wget curl rsync perl libelf-dev python3.5 libpython3.5-stdlib liblzma-dev + pyenv global 3.5.2 + + build_x86_64: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: x86_64 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 50m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + sudo apt-get update + sudo apt-get install -yq libelf-dev + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 50m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_x86: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: x86 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_rpi3: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: rpi3 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_espressobin: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: espressobin + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_r2s: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: r2s + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_rpi4: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: rpi4 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_rpi2: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: rpi2 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile package/compile target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_bpi-r2: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: bpi-r2 + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: | + sudo apt-get update + sudo apt-get -yq install swig2.0 + make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_wrt3200acm: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_TARGET: wrt3200acm + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/$OMR_TARGET/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/$OMR_TARGET/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/$OMR_TARGET/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rm -rf ~/openmptcprouter/$OMR_TARGET/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + build_wrt32: + machine: + image: ubuntu-1604:201903-01 + + environment: + - OMR_VERSION: $CIRCLE_TAG + - OMR_KERNEL: 5.4 + + working_directory: ~/ + + steps: + - run: + name: cache + command: | + echo "cache 107 $OMR_KERNEL $OMR_TARGET" > /tmp/cache-target + echo "cache 108 $OMR_KERNEL $OMR_TARGET $OMR_VERSION" > /tmp/cache-version + + - restore_cache: + keys: + - cache-{{ checksum "/tmp/cache-version" }} + - cache-{{ checksum "/tmp/cache-target" }} + + - run: + name: Build toolchain wrt3200acm + no_output_timeout: 40m + command: | + git clone https://github.com/suyuan168/3grouter || true + cd openmptcprouter + git checkout ${CIRCLE_BRANCH:-$CIRCLE_TAG} || true + git pull || true + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_TARGET="wrt3200acm" + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/wrt3200acm/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/wrt3200acm/source/key-build.pub + + - save_cache: + key: cache-{{ checksum "/tmp/cache-target" }} + paths: + - openmptcprouter + + - run: + name: Build wrt3200acm + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/wrt3200acm/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy wrt3200acm + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/wrt3200acm/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/wrt3200acm + rm -rf ~/openmptcprouter/wrt3200acm/source/bin + + - save_cache: + key: cache-{{ checksum "/tmp/cache-version" }} + paths: + - openmptcprouter + + - run: + name: Build toolchain wrt32x + no_output_timeout: 40m + command: | + cd ~/openmptcprouter/ + export OMR_PATH="$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME/${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_FEED_URL="$CIRCLE_REPOSITORY_URL" + export OMR_FEED_SRC="${CIRCLE_BRANCH:-$CIRCLE_TAG}" + export OMR_TARGET="wrt32x" + ln -s wrt3200acm wrt32x + pyenv global 3.5.2 + sh build.sh prepare {tools,toolchain}/install -j2 + echo -e "$OMR_PRIVKEY" > ~/openmptcprouter/wrt32x/source/key-build + echo -e "$OMR_PUBKEY" > ~/openmptcprouter/wrt32x/source/key-build.pub + + - run: + name: Build wrt32x + no_output_timeout: 40m + command: make IGNORE_ERRORS=m -C ~/openmptcprouter/wrt32x/source package/{compile,install,index} target/compile -j2 package/compile -j2 target/install -j2 + + - run: + name: Deploy wrt32x + command: | + ssh -p ${OMR_DEPLOY_PORT:-22} deploy@$OMR_DEPLOY_HOST mkdir -p deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/$OMR_TARGET + rsync -av --delete-after ~/openmptcprouter/wrt32x/source/bin/ -e "ssh -q -p ${OMR_DEPLOY_PORT:-22}" deploy@$OMR_DEPLOY_HOST:deploy/${CIRCLE_BRANCH:-release}/${CIRCLE_TAG:-$OMR_KERNEL}/wrt32x + +workflows: + version: 2 + main: + jobs: + - prepare: + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_x86_64: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_x86: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_rpi4: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_rpi3: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_espressobin: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_r2s: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_rpi2: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_bpi-r2: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop + - build_wrt32: + requires: + - prepare + filters: + tags: + only: /.*/ + branches: + only: + - develop diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a75f5720c..6658b8dde 100755 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,4 +1,4 @@ -name: Build antrouter +name: openmptcprouter on: [push] env: @@ -129,7 +129,7 @@ jobs: TARGET: /www/wwwroot/55860.com/bak/down/release/${{steps.branch_name.outputs.SOURCE_TAG}}/${{matrix.OMR_TARGET}} SOURCE: ./bin/ KEY: ${{ secrets.PRIVATE_KEY }} - user: root + USER: root HOST: ${{ secrets.OMR_DEPLOY_HOST }} PORT: ${{ secrets.OMR_DEPLOY_PORT }} SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} @@ -144,11 +144,10 @@ jobs: TARGET: /www/wwwroot/55860.com/bak/down/${{ steps.branch_name.outputs.SOURCE_BRANCH }}/${{env.OMR_KERNEL}}/${{matrix.OMR_TARGET}} SOURCE: ./bin/ KEY: ${{ secrets.PRIVATE_KEY }} - user: root + USER: root HOST: ${{ secrets.OMR_DEPLOY_HOST }} PORT: ${{ secrets.OMR_DEPLOY_PORT }} SOURCE_NAME: ${{ steps.branch_name.outputs.SOURCE_NAME }} SOURCE_BRANCH: ${{ steps.branch_name.outputs.SOURCE_BRANCH }} SOURCE_TAG: ${{ steps.branch_name.outputs.SOURCE_TAG }} GITHUB_WORKSPACE: ${{ steps.branch_name.outputs.WORKSPACE }} - diff --git a/README.md b/README.md index e92835abd..e9edfcd2c 100755 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ This is the OpenWrt OpenMPTCProuter feed containing all modified and necessary packages to build the OpenMPTCProuter image. -For More information, see [https://github.com/ysurac/openmptcprouter](https://github.com/ysurac/openmptcprouter) and [https://www.openmptcprouter.com](https://www.openmptcprouter.com/). +For More information, see [https://github.com/suyuan168/3grouter](https://github.com/suyuan168/3grouter) and [https://www.openmptcprouter.com](https://www.openmptcprouter.com/). ## Glorytun @@ -66,7 +66,7 @@ Added support to gateway set by user for 6in4. Used for IPv6 over the glorytun I ## luci-omr-bypass -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-bypass](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-bypass) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-bypass](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-bypass) *Description:* Luci interface to bypass domains, IPs and networks with shadowsocks @@ -74,7 +74,7 @@ Domains, IPs, networks and protocol (using DPI) added are bypassed when shadowso ## omr-tracker -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-tracker](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-tracker) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/omr-tracker](https://github.com/suyuan168/3grouter-feeds/tree/master/omr-tracker) *Description:* Track connection status. This check if gateway is up then check if the connection work. If it's not working this execute scripts. This also detect if ShadowSocks is up or not. @@ -82,7 +82,7 @@ This is used for OpenMPTCProuter failover. ## luci-omr-tracker -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-tracker](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-omr-tracker) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-tracker](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-omr-tracker) *Description:* Luci interface to omr-tracker @@ -90,37 +90,37 @@ Interface to omr-tracker. ## luci-app-iperf -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-iperf](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-iperf) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-iperf](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-iperf) *Description:* Luci interface to iPerf ## omr-6in4 -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-6in4](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-6in4) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/omr-6in4](https://github.com/suyuan168/3grouter-feeds/tree/master/omr-6in4) *Description:* Set tunnel configuration by tracking tunnel configuration. ## omr-update -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-update](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/omr-update) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/omr-update](https://github.com/suyuan168/3grouter-feeds/tree/master/omr-update) *Description:* Update old config with new settings. ## luci-app-mptcp -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-mptcp](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-mptcp) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-mptcp](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-mptcp) *Description:* Luci interface for all MPTCP settings ## luci-app-openmptcprouter -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-openmptcprouter](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/luci-app-openmptcprouter) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-openmptcprouter](https://github.com/suyuan168/3grouter-feeds/tree/master/luci-app-openmptcprouter) *Description:* Wizard for OpenMPTCProuter settings and status page ## mptcp -*Source:* [https://github.com/Ysurac/openmptcprouter-feeds/tree/master/mptcp](https://github.com/Ysurac/openmptcprouter-feeds/tree/master/mptcp) +*Source:* [https://github.com/suyuan168/3grouter-feeds/tree/master/mptcp](https://github.com/suyuan168/3grouter-feeds/tree/master/mptcp) *Description:* This package set all MPTCP settings