mirror of
https://github.com/shadowsocks/shadowsocks-rust.git
synced 2026-02-09 01:59:16 +08:00
Enable circle-ci
This commit is contained in:
24
.circleci/config.yml
Normal file
24
.circleci/config.yml
Normal file
@@ -0,0 +1,24 @@
|
||||
version: 2.1
|
||||
jobs:
|
||||
build:
|
||||
docker:
|
||||
- image: circleci/rust:latest
|
||||
steps:
|
||||
- checkout
|
||||
- run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libssl-dev libsodium-dev
|
||||
- restore_cache:
|
||||
key: cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }}
|
||||
- run: |
|
||||
export SODIUM_USE_PKG_CONFIG=1
|
||||
export OPENSSL_STATIC=1
|
||||
./build-host-release
|
||||
- save_cache:
|
||||
paths:
|
||||
- /usr/local/cargo/registry
|
||||
- ./target
|
||||
key: cargo-cache-{{ arch }}-{{ checksum "Cargo.lock" }}
|
||||
- store_artifacts:
|
||||
path: ./build/release
|
||||
destination: releases
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,7 +1,5 @@
|
||||
/target
|
||||
/build/*.tar.gz
|
||||
/build/*.tar.xz
|
||||
/build/*.zip
|
||||
/build/release
|
||||
/build/target
|
||||
/build/install
|
||||
/build/*.sha256
|
||||
|
||||
@@ -2,10 +2,12 @@
|
||||
|
||||
[](https://app.codacy.com/app/zonyitoo/shadowsocks-rust?utm_source=github.com&utm_medium=referral&utm_content=shadowsocks/shadowsocks-rust&utm_campaign=Badge_Grade_Dashboard)
|
||||
[](https://travis-ci.org/shadowsocks/shadowsocks-rust)
|
||||
[](https://ci.appveyor.com/project/zonyitoo/shadowsocks-rust-0grjf)
|
||||
[](https://github.com/zonyitoo/shadowsocks-rust)
|
||||
[](https://crates.io/crates/shadowsocks-rust)
|
||||
[](https://deps.rs/repo/github/shadowsocks/shadowsocks-rust)
|
||||
[](https://github.com/shadowsocks/shadowsocks-rust/releases)
|
||||
[](https://circleci.com/gh/shadowsocks/shadowsocks-rust)
|
||||
|
||||
This is a port of [shadowsocks](https://github.com/shadowsocks/shadowsocks).
|
||||
|
||||
|
||||
50
build-host-release
Executable file
50
build-host-release
Executable file
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
|
||||
ROOT_DIR=$( cd $( dirname $0 ) && pwd )
|
||||
VERSION=$(grep -E '^version' "${ROOT_DIR}/Cargo.toml" | awk '{print $3}' | sed 's/"//g')
|
||||
HOST_TRIPLE=$(rustc -Vv | grep 'host:' | awk '{print $2}')
|
||||
|
||||
cargo build --release --features "miscreant"
|
||||
if [[ "$?" != "0" ]]; then
|
||||
exit $?;
|
||||
fi
|
||||
|
||||
TARGET_SUFFIX=""
|
||||
if [[ "${HOST_TRIPLE}" == *"-windows-"* ]]; then
|
||||
TARGET_SUFFIX=".exe"
|
||||
fi
|
||||
|
||||
TARGETS=("sslocal${TARGET_SUFFIX}" "ssserver${TARGET_SUFFIX}" "ssurl${TARGET_SUFFIX}" "sstunnel${TARGET_SUFFIX}")
|
||||
if [[ "${HOST_TRIPLE}" == *"-linux-"* ]]; then
|
||||
TARGETS+=("ssredir${TARGET_SUFFIX}")
|
||||
fi
|
||||
|
||||
RELEASE_FOLDER="${ROOT_DIR}/build/release"
|
||||
RELEASE_PACKAGE_NAME="shadowsocks-v${VERSION}-stable.${HOST_TRIPLE}"
|
||||
|
||||
mkdir -p "${RELEASE_FOLDER}"
|
||||
|
||||
# Into release folder
|
||||
cd "target/release"
|
||||
|
||||
if [[ "${HOST_TRIPLE}" == *"-windows-"* ]]; then
|
||||
# For Windows, use zip
|
||||
|
||||
RELEASE_PACKAGE_FILE_NAME="${RELEASE_PACKAGE_NAME}.zip"
|
||||
RELEASE_PACKAGE_FILE_PATH="${RELEASE_FOLDER}/${RELEASE_PACKAGE_FILE_NAME}"
|
||||
zip "${RELEASE_PACKAGE_FILE_PATH}" "${TARGETS[@]}"
|
||||
|
||||
# Checksum
|
||||
cd "${RELEASE_FOLDER}"
|
||||
shasum -a 256 "${RELEASE_PACKAGE_FILE_NAME}" > "${RELEASE_PACKAGE_FILE_NAME}.sha256"
|
||||
else
|
||||
# For others, Linux, OS X, uses tar.xz
|
||||
|
||||
RELEASE_PACKAGE_FILE_NAME="${RELEASE_PACKAGE_NAME}.tar.xz"
|
||||
RELEASE_PACKAGE_FILE_PATH="${RELEASE_FOLDER}/${RELEASE_PACKAGE_FILE_NAME}"
|
||||
tar -cJf "${RELEASE_PACKAGE_FILE_PATH}" "${TARGETS[@]}"
|
||||
|
||||
# Checksum
|
||||
cd "${RELEASE_FOLDER}"
|
||||
shasum -a 256 "${RELEASE_PACKAGE_FILE_NAME}" > "${RELEASE_PACKAGE_FILE_NAME}.sha256"
|
||||
fi
|
||||
@@ -39,9 +39,12 @@ function build() {
|
||||
exit $?
|
||||
fi
|
||||
|
||||
PKG_DIR="${CUR_DIR}/release"
|
||||
mkdir -p "${PKG_DIR}"
|
||||
|
||||
if [[ "$TARGET" == *"-linux-"* ]]; then
|
||||
PKG_NAME="shadowsocks-v${VERSION}-stable.${TARGET}.tar.xz"
|
||||
PKG_PATH="${CUR_DIR}/${PKG_NAME}"
|
||||
PKG_NAME="shadowsocks-v${VERSION}.${TARGET}.tar.xz"
|
||||
PKG_PATH="${PKG_DIR}/${PKG_NAME}"
|
||||
|
||||
echo "* Packaging XZ in ${PKG_PATH} ..."
|
||||
cd ${RELEASE_DIR}
|
||||
@@ -56,11 +59,11 @@ function build() {
|
||||
exit $?
|
||||
fi
|
||||
|
||||
cd "${CUR_DIR}"
|
||||
cd "${PKG_DIR}"
|
||||
shasum -a 256 "${PKG_NAME}" > "${PKG_NAME}.sha256"
|
||||
elif [[ "$TARGET" == *"-windows-"* ]]; then
|
||||
PKG_NAME="shadowsocks-v${VERSION}-stable.${TARGET}.zip"
|
||||
PKG_PATH="${CUR_DIR}/${PKG_NAME}"
|
||||
PKG_NAME="shadowsocks-v${VERSION}.${TARGET}.zip"
|
||||
PKG_PATH="${PKG_DIR}/${PKG_NAME}"
|
||||
|
||||
echo "* Packaging ZIP in ${PKG_PATH} ..."
|
||||
cd ${RELEASE_DIR}
|
||||
@@ -74,7 +77,7 @@ function build() {
|
||||
exit $?
|
||||
fi
|
||||
|
||||
cd "${CUR_DIR}"
|
||||
cd "${PKG_DIR}"
|
||||
shasum -a 256 "${PKG_NAME}" > "${PKG_NAME}.sha256"
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user