small fixes
This commit is contained in:
parent
df9a1e49ee
commit
ef997cba5a
180
.gitlab-ci.yml
180
.gitlab-ci.yml
@ -3,7 +3,7 @@ stages:
|
|||||||
- build
|
- build
|
||||||
- package
|
- package
|
||||||
- publish
|
- publish
|
||||||
- push-release
|
- docs
|
||||||
|
|
||||||
image: parity/rust:gitlab-ci
|
image: parity/rust:gitlab-ci
|
||||||
|
|
||||||
@ -14,7 +14,6 @@ variables:
|
|||||||
BUILD_TARGET: ubuntu
|
BUILD_TARGET: ubuntu
|
||||||
BUILD_ARCH: amd64
|
BUILD_ARCH: amd64
|
||||||
CARGO_TARGET: x86_64-unknown-linux-gnu
|
CARGO_TARGET: x86_64-unknown-linux-gnu
|
||||||
LIBSSL: "libssl1.0.0 (>=1.0.0)"
|
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
key: "${CI_JOB_NAME}"
|
key: "${CI_JOB_NAME}"
|
||||||
@ -28,14 +27,13 @@ cache:
|
|||||||
- stable
|
- stable
|
||||||
- beta
|
- beta
|
||||||
- tags
|
- tags
|
||||||
- nightly
|
- gitlab-next
|
||||||
- triggers
|
|
||||||
|
|
||||||
.publishable_branches: # list of git refs for publishing builds to the "production" locations
|
.publishable_branches: # list of git refs for publishing builds to the "production" locations
|
||||||
only: &publishable_branches
|
only: &publishable_branches
|
||||||
- nightly # Our nightly builds from schedule, on `master`
|
- nightly # Our nightly builds from schedule, on `master`
|
||||||
- "v*" # Our version tags
|
- "v*" # Our version tags
|
||||||
- triggers
|
- gitlab-next
|
||||||
|
|
||||||
.collect_artifacts: &collect_artifacts
|
.collect_artifacts: &collect_artifacts
|
||||||
artifacts:
|
artifacts:
|
||||||
@ -45,14 +43,6 @@ cache:
|
|||||||
paths:
|
paths:
|
||||||
- artifacts/
|
- artifacts/
|
||||||
|
|
||||||
.collect_packages: &collect_packages
|
|
||||||
artifacts:
|
|
||||||
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
|
|
||||||
when: on_success
|
|
||||||
expire_in: 1 mos
|
|
||||||
paths:
|
|
||||||
- packages/
|
|
||||||
|
|
||||||
.determine_version: &determine_version |
|
.determine_version: &determine_version |
|
||||||
export VERSION=$(grep -m 1 "version =" Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
|
export VERSION=$(grep -m 1 "version =" Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
|
||||||
echo "Version" $VERSION
|
echo "Version" $VERSION
|
||||||
@ -71,21 +61,17 @@ test:rust:stable: &test
|
|||||||
<<: *test
|
<<: *test
|
||||||
allow_failure: true
|
allow_failure: true
|
||||||
only:
|
only:
|
||||||
- triggers
|
|
||||||
- master
|
- master
|
||||||
- nightly
|
|
||||||
|
|
||||||
test:rust:beta:
|
test:rust:beta:
|
||||||
<<: *optional_test
|
<<: *optional_test
|
||||||
script:
|
script:
|
||||||
- scripts/gitlab/test.sh beta
|
- scripts/gitlab/test.sh beta
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
test:rust:nightly:
|
test:rust:nightly:
|
||||||
<<: *optional_test
|
<<: *optional_test
|
||||||
script:
|
script:
|
||||||
- scripts/gitlab/test.sh nightly
|
- scripts/gitlab/test.sh nightly
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
#test:rustfmt:
|
#test:rustfmt:
|
||||||
# <<: *optional_test
|
# <<: *optional_test
|
||||||
@ -101,7 +87,6 @@ test:coverage:
|
|||||||
stage: test
|
stage: test
|
||||||
only:
|
only:
|
||||||
- master
|
- master
|
||||||
- gitlab-next
|
|
||||||
script:
|
script:
|
||||||
- scripts/gitlab/coverage.sh
|
- scripts/gitlab/coverage.sh
|
||||||
tags:
|
tags:
|
||||||
@ -121,18 +106,13 @@ build:linux:ubuntu:amd64: &build
|
|||||||
<<: *collect_artifacts
|
<<: *collect_artifacts
|
||||||
tags:
|
tags:
|
||||||
- rust-stable
|
- rust-stable
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
build:linux:debian:amd64:
|
build:linux:ubuntu:i386:
|
||||||
<<: *build
|
<<: *build
|
||||||
image: parity/rust-debian:gitlab-ci
|
image: parity/rust-i686:gitlab-ci
|
||||||
variables:
|
variables:
|
||||||
LIBSSL: "libssl1.1 (>=1.1.0)"
|
CARGO_TARGET: i686-unknown-linux-gnu
|
||||||
CARGO_TARGET: x86_64-unknown-linux-gnu
|
|
||||||
|
|
||||||
build:linux:centos:x86_64:
|
|
||||||
<<: *build
|
|
||||||
image: parity/rust-centos:gitlab-ci
|
|
||||||
retry: 2 #if version `GLIBC_2.18' not found
|
|
||||||
|
|
||||||
build:linux:ubuntu:arm64:
|
build:linux:ubuntu:arm64:
|
||||||
<<: *build
|
<<: *build
|
||||||
@ -156,6 +136,8 @@ build:macos:x86_64:
|
|||||||
<<: *build
|
<<: *build
|
||||||
variables:
|
variables:
|
||||||
CARGO_TARGET: x86_64-apple-darwin
|
CARGO_TARGET: x86_64-apple-darwin
|
||||||
|
CC: gcc
|
||||||
|
CXX: g++
|
||||||
tags:
|
tags:
|
||||||
- osx
|
- osx
|
||||||
<<: *collect_artifacts
|
<<: *collect_artifacts
|
||||||
@ -168,6 +150,7 @@ build-windows-x86_64:
|
|||||||
paths:
|
paths:
|
||||||
- "%CI_PROJECT_DIR%/target/"
|
- "%CI_PROJECT_DIR%/target/"
|
||||||
- "%CI_PROJECT_DIR%/cargo/"
|
- "%CI_PROJECT_DIR%/cargo/"
|
||||||
|
# No cargo caching, since fetch-locking on Windows gets stuck
|
||||||
variables:
|
variables:
|
||||||
CARGO_TARGET: x86_64-pc-windows-msvc
|
CARGO_TARGET: x86_64-pc-windows-msvc
|
||||||
script:
|
script:
|
||||||
@ -179,88 +162,35 @@ build-windows-x86_64:
|
|||||||
|
|
||||||
#### stage: package
|
#### stage: package
|
||||||
|
|
||||||
package:ubuntu:deb:amd64: &package_unix
|
|
||||||
stage: package
|
|
||||||
only: *releaseable_branches
|
|
||||||
before_script:
|
|
||||||
- *determine_version
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: amd64
|
|
||||||
IDENT: ubuntu
|
|
||||||
PKG: deb
|
|
||||||
LIBSSL: "libssl1.1 (>=1.1.0)"
|
|
||||||
dependencies:
|
|
||||||
- build:linux:ubuntu:amd64
|
|
||||||
script:
|
|
||||||
- scripts/gitlab/package-unix.sh
|
|
||||||
tags:
|
|
||||||
- rust-stable
|
|
||||||
<<: *collect_packages
|
|
||||||
|
|
||||||
package:ubuntu:deb:arm64:
|
|
||||||
<<: *package_unix
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: arm64
|
|
||||||
IDENT: ubuntu
|
|
||||||
PKG: deb
|
|
||||||
dependencies:
|
|
||||||
- build:linux:ubuntu:arm64
|
|
||||||
|
|
||||||
package:ubuntu:deb:armhf:
|
|
||||||
<<: *package_unix
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: armhf
|
|
||||||
IDENT: ubuntu
|
|
||||||
PKG: deb
|
|
||||||
dependencies:
|
|
||||||
- build:linux:ubuntu:armhf
|
|
||||||
|
|
||||||
package:debian:deb:amd64:
|
|
||||||
<<: *package_unix
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: amd64
|
|
||||||
IDENT: debian
|
|
||||||
PKG: deb
|
|
||||||
dependencies:
|
|
||||||
- build:linux:debian:amd64
|
|
||||||
|
|
||||||
package:centos:rpm:x86_64:
|
|
||||||
<<: *package_unix
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: x86_64
|
|
||||||
IDENT: centos
|
|
||||||
PKG: rpm
|
|
||||||
LIBSSL: "libssl >= 1.0.0"
|
|
||||||
dependencies:
|
|
||||||
- build:linux:centos:x86_64
|
|
||||||
|
|
||||||
|
|
||||||
package:macos:pkg:x86_64:
|
|
||||||
<<: *package_unix
|
|
||||||
dependencies:
|
|
||||||
- build:macos:x86_64
|
|
||||||
script:
|
|
||||||
- scripts/gitlab/package-macos.sh
|
|
||||||
tags:
|
|
||||||
- osx
|
|
||||||
|
|
||||||
package:linux:snap:amd64: &package_snap
|
package:linux:snap:amd64: &package_snap
|
||||||
stage: package
|
stage: package
|
||||||
only: *releaseable_branches
|
only: *releaseable_branches
|
||||||
|
cache: {}
|
||||||
before_script:
|
before_script:
|
||||||
- *determine_version
|
- *determine_version
|
||||||
|
variables:
|
||||||
|
CARGO_TARGET: x86_64-unknown-linux-gnu
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:linux:ubuntu:amd64
|
- build:linux:ubuntu:amd64
|
||||||
script:
|
script:
|
||||||
- scripts/gitlab/package-snap.sh
|
- scripts/gitlab/package-snap.sh
|
||||||
tags:
|
tags:
|
||||||
- rust-stable
|
- rust-stable
|
||||||
<<: *collect_packages
|
<<: *collect_artifacts
|
||||||
|
|
||||||
|
package:linux:snap:i386:
|
||||||
|
<<: *package_snap
|
||||||
|
variables:
|
||||||
|
BUILD_ARCH: i386
|
||||||
|
CARGO_TARGET: i686-unknown-linux-gnu
|
||||||
|
dependencies:
|
||||||
|
- build:linux:ubuntu:i386
|
||||||
|
|
||||||
package:linux:snap:arm64:
|
package:linux:snap:arm64:
|
||||||
<<: *package_snap
|
<<: *package_snap
|
||||||
variables:
|
variables:
|
||||||
BUILD_ARCH: arm64
|
BUILD_ARCH: arm64
|
||||||
|
CARGO_TARGET: aarch64-unknown-linux-gnu
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:linux:ubuntu:arm64
|
- build:linux:ubuntu:arm64
|
||||||
|
|
||||||
@ -268,19 +198,10 @@ package:linux:snap:armhf:
|
|||||||
<<: *package_snap
|
<<: *package_snap
|
||||||
variables:
|
variables:
|
||||||
BUILD_ARCH: armhf
|
BUILD_ARCH: armhf
|
||||||
|
CARGO_TARGET: armv7-unknown-linux-gnueabihf
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:linux:ubuntu:armhf
|
- build:linux:ubuntu:armhf
|
||||||
|
|
||||||
package-windows-exe-x86_64:
|
|
||||||
stage: package
|
|
||||||
only: *releaseable_branches
|
|
||||||
dependencies:
|
|
||||||
- build-windows-x86_64
|
|
||||||
script:
|
|
||||||
- sh scripts/gitlab/package-windows.sh
|
|
||||||
<<: *collect_packages
|
|
||||||
tags:
|
|
||||||
- rust-windows
|
|
||||||
|
|
||||||
#### stage: publish
|
#### stage: publish
|
||||||
|
|
||||||
@ -288,6 +209,7 @@ publish:linux:snap:amd64: &publish_snap
|
|||||||
stage: publish
|
stage: publish
|
||||||
only: *publishable_branches
|
only: *publishable_branches
|
||||||
image: snapcore/snapcraft:stable
|
image: snapcore/snapcraft:stable
|
||||||
|
cache: {}
|
||||||
before_script:
|
before_script:
|
||||||
- *determine_version
|
- *determine_version
|
||||||
variables:
|
variables:
|
||||||
@ -299,11 +221,21 @@ publish:linux:snap:amd64: &publish_snap
|
|||||||
tags:
|
tags:
|
||||||
- rust-stable
|
- rust-stable
|
||||||
|
|
||||||
|
publish:linux:snap:i386:
|
||||||
|
<<: *publish_snap
|
||||||
|
before_script:
|
||||||
|
- *determine_version
|
||||||
|
#- sleep 60
|
||||||
|
variables:
|
||||||
|
BUILD_ARCH: i386
|
||||||
|
dependencies:
|
||||||
|
- package:linux:snap:i386
|
||||||
|
|
||||||
publish:linux:snap:arm64:
|
publish:linux:snap:arm64:
|
||||||
<<: *publish_snap
|
<<: *publish_snap
|
||||||
before_script:
|
before_script:
|
||||||
- *determine_version
|
- *determine_version
|
||||||
- sleep 120
|
#- sleep 360
|
||||||
variables:
|
variables:
|
||||||
BUILD_ARCH: arm64
|
BUILD_ARCH: arm64
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -313,7 +245,7 @@ publish:linux:snap:armhf:
|
|||||||
<<: *publish_snap
|
<<: *publish_snap
|
||||||
before_script:
|
before_script:
|
||||||
- *determine_version
|
- *determine_version
|
||||||
- sleep 360
|
#- sleep 520
|
||||||
variables:
|
variables:
|
||||||
BUILD_ARCH: armhf
|
BUILD_ARCH: armhf
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -322,10 +254,12 @@ publish:linux:snap:armhf:
|
|||||||
publish:docker:parity:amd64: &publish_docker
|
publish:docker:parity:amd64: &publish_docker
|
||||||
stage: publish
|
stage: publish
|
||||||
only: *publishable_branches
|
only: *publishable_branches
|
||||||
|
cache: {}
|
||||||
dependencies:
|
dependencies:
|
||||||
- build:linux:ubuntu:amd64
|
- build:linux:ubuntu:amd64
|
||||||
tags:
|
tags:
|
||||||
- shell
|
- shell
|
||||||
|
allow_failure: true
|
||||||
script:
|
script:
|
||||||
- scripts/gitlab/publish-docker.sh parity
|
- scripts/gitlab/publish-docker.sh parity
|
||||||
|
|
||||||
@ -334,31 +268,35 @@ publish:docker:parity-evm:amd64:
|
|||||||
script:
|
script:
|
||||||
- scripts/gitlab/publish-docker.sh parity-evm
|
- scripts/gitlab/publish-docker.sh parity-evm
|
||||||
|
|
||||||
publish:github:
|
publish:github:s3:
|
||||||
stage: publish
|
stage: publish
|
||||||
only: *publishable_branches
|
only: *publishable_branches
|
||||||
|
cache: {}
|
||||||
dependencies:
|
dependencies:
|
||||||
- package:ubuntu:deb:amd64
|
- build:linux:ubuntu:amd64
|
||||||
- package:ubuntu:deb:armhf
|
- build:linux:ubuntu:i386
|
||||||
- package:ubuntu:deb:arm64
|
- build:linux:ubuntu:armhf
|
||||||
- package:debian:deb:amd64
|
- build:linux:ubuntu:arm64
|
||||||
- package:centos:rpm:x86_64
|
- build:macos:x86_64
|
||||||
- package:macos:pkg:x86_64
|
- build-windows-x86_64
|
||||||
- package-windows-exe-x86_64
|
|
||||||
before_script:
|
before_script:
|
||||||
- *determine_version
|
- *determine_version
|
||||||
script:
|
script:
|
||||||
- scripts/gitlab/push-github.sh
|
- scripts/gitlab/push.sh
|
||||||
|
tags:
|
||||||
|
- shell
|
||||||
|
allow_failure: true
|
||||||
|
|
||||||
#### stage: push-release
|
|
||||||
|
|
||||||
push:release:
|
####stage: docs
|
||||||
stage: push-release
|
|
||||||
|
json:rpc:docs:
|
||||||
|
stage: docs
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
- triggers
|
- gitlab-next
|
||||||
image: parity/rust:gitlab-ci
|
cache: {}
|
||||||
script:
|
script:
|
||||||
- scripts/gitlab/push-release.sh
|
- scripts/gitlab/rpc-docs.sh
|
||||||
tags:
|
tags:
|
||||||
- curl
|
- shell
|
||||||
|
@ -1,64 +1,27 @@
|
|||||||
FROM ubuntu:xenial
|
FROM ubuntu:xenial
|
||||||
MAINTAINER Parity Technologies <devops@parity.io>
|
MAINTAINER Parity Technologies <devops@parity.io>
|
||||||
WORKDIR /build
|
#set ENVIROMENT
|
||||||
#ENV for build TAG
|
ARG TARGET
|
||||||
ARG BUILD_TAG
|
ENV TARGET ${TARGET}
|
||||||
ENV BUILD_TAG ${BUILD_TAG:-master}
|
|
||||||
RUN echo "Build tag:" $BUILD_TAG
|
|
||||||
# install tools and dependencies
|
# install tools and dependencies
|
||||||
RUN apt-get update && \
|
RUN apt update && apt install -y --no-install-recommends openssl libudev-dev file
|
||||||
apt-get install -y --force-yes --no-install-recommends \
|
|
||||||
# make
|
|
||||||
build-essential \
|
|
||||||
# add-apt-repository
|
|
||||||
software-properties-common \
|
|
||||||
make \
|
|
||||||
cmake \
|
|
||||||
curl \
|
|
||||||
wget \
|
|
||||||
git \
|
|
||||||
g++ \
|
|
||||||
gcc \
|
|
||||||
libc6 \
|
|
||||||
libc6-dev \
|
|
||||||
binutils \
|
|
||||||
file \
|
|
||||||
libudev-dev \
|
|
||||||
pkg-config \
|
|
||||||
dpkg-dev &&\
|
|
||||||
# install rustup
|
|
||||||
curl https://sh.rustup.rs -sSf | sh -s -- -y && \
|
|
||||||
# rustup directory
|
|
||||||
PATH=/root/.cargo/bin:$PATH && \
|
|
||||||
# show backtraces
|
# show backtraces
|
||||||
RUST_BACKTRACE=1 && \
|
ENV RUST_BACKTRACE 1
|
||||||
# build parity
|
|
||||||
cd /build&&git clone https://github.com/paritytech/parity-ethereum && \
|
|
||||||
cd parity-ethereum&& \
|
|
||||||
git pull&& \
|
|
||||||
git checkout $BUILD_TAG && \
|
|
||||||
cargo build --verbose --release --features final && \
|
|
||||||
strip /build/parity-ethereum/target/release/parity && \
|
|
||||||
file /build/parity-ethereum/target/release/parity&&mkdir -p /parity&& cp /build/parity-ethereum/target/release/parity /parity&&\
|
|
||||||
#cleanup Docker image
|
#cleanup Docker image
|
||||||
rm -rf /root/.cargo&&rm -rf /root/.multirust&&rm -rf /root/.rustup&&rm -rf /build&&\
|
RUN apt autoremove -y
|
||||||
apt-get purge -y \
|
RUN apt clean -y
|
||||||
# make
|
RUN rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/*
|
||||||
build-essential \
|
|
||||||
# add-apt-repository
|
#add TARGET to docker image
|
||||||
software-properties-common \
|
COPY artifacts/x86_64-unknown-linux-gnu/$TARGET /usr/bin/$TARGET
|
||||||
make \
|
|
||||||
cmake \
|
# Build a shell script because the ENTRYPOINT command doesn't like using ENV
|
||||||
curl \
|
RUN echo "#!/bin/bash \n ${TARGET} \$@" > ./entrypoint.sh
|
||||||
wget \
|
RUN chmod +x ./entrypoint.sh
|
||||||
git \
|
|
||||||
g++ \
|
|
||||||
gcc \
|
|
||||||
binutils \
|
|
||||||
file \
|
|
||||||
pkg-config \
|
|
||||||
dpkg-dev &&\
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
# setup ENTRYPOINT
|
# setup ENTRYPOINT
|
||||||
EXPOSE 8080 8545 8180
|
EXPOSE 5001 8080 8082 8083 8545 8546 8180 30303/tcp 30303/udp
|
||||||
ENTRYPOINT ["/parity/parity"]
|
ENTRYPOINT ["./entrypoint.sh"]
|
||||||
|
@ -1,31 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
# Installing KCOV under ubuntu
|
|
||||||
# https://users.rust-lang.org/t/tutorial-how-to-collect-test-coverages-for-rust-project/650#
|
|
||||||
### Install deps
|
|
||||||
# $ sudo apt-get install libcurl4-openssl-dev libelf-dev libdw-dev cmake gcc binutils-dev libiberty-dev
|
|
||||||
#
|
|
||||||
### Compile kcov
|
|
||||||
# $ wget https://github.com/SimonKagstrom/kcov/archive/master.tar.gz && tar xf master.tar.gz
|
|
||||||
# $ cd kcov-master && mkdir build && cd build
|
|
||||||
# $ cmake .. && make && sudo make install
|
|
||||||
|
|
||||||
### Running coverage
|
|
||||||
|
|
||||||
set -x
|
|
||||||
RUSTFLAGS="-C link-dead-code" cargo test --all --no-run || exit $?
|
|
||||||
KCOV_TARGET="target/cov"
|
|
||||||
KCOV_FLAGS="--verify"
|
|
||||||
mkdir -p $KCOV_TARGET
|
|
||||||
echo "Cover RUST"
|
|
||||||
for FILE in `find target/debug/deps ! -name "*.*"`
|
|
||||||
do
|
|
||||||
timeout --signal=SIGKILL 5m kcov --include-path=$(pwd) --exclude-path=$(pwd)/target $KCOV_FLAGS $KCOV_TARGET $FILE
|
|
||||||
done
|
|
||||||
timeout --signal=SIGKILL 5m kcov --include-path=$(pwd) --exclude-path=$(pwd)/target $KCOV_FLAGS $KCOV_TARGET target/debug/parity-*
|
|
||||||
echo "Cover JS"
|
|
||||||
cd js
|
|
||||||
npm install&&npm run test:coverage
|
|
||||||
cd ..
|
|
||||||
bash <(curl -s https://codecov.io/bash)&&
|
|
||||||
echo "Uploaded code coverage"
|
|
||||||
exit 0
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
cd docker/hub
|
|
||||||
DOCKER_BUILD_TAG=$1
|
|
||||||
echo "Docker build tag: " $DOCKER_BUILD_TAG
|
|
||||||
if [[ "$DOCKER_BUILD_TAG" = "latest" ]]; then
|
|
||||||
docker build --build-arg BUILD_TAG="master" --no-cache=true --tag parity/parity:$DOCKER_BUILD_TAG .
|
|
||||||
else
|
|
||||||
docker build --build-arg BUILD_TAG=$DOCKER_BUILD_TAG --no-cache=true --tag parity/parity:$DOCKER_BUILD_TAG .
|
|
||||||
fi
|
|
||||||
docker run -it parity/parity:$DOCKER_BUILD_TAG -v
|
|
||||||
docker push parity/parity:$DOCKER_BUILD_TAG
|
|
@ -1,47 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#ARGUMENT test for RUST and COVERAGE
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
if [[ "$CI_COMMIT_REF_NAME" = "master" || "$CI_COMMIT_REF_NAME" = "beta" || "$CI_COMMIT_REF_NAME" = "stable" ]]; then
|
|
||||||
export GIT_COMPARE=$CI_COMMIT_REF_NAME~;
|
|
||||||
else
|
|
||||||
export GIT_COMPARE=master;
|
|
||||||
fi
|
|
||||||
git fetch -a
|
|
||||||
export RUST_FILES_MODIFIED="$(git --no-pager diff --name-only $GIT_COMPARE...$CI_COMMIT_SHA | grep -v -e ^\\. -e ^LICENSE -e ^README.md -e ^test.sh -e ^windows/ -e ^scripts/ -e ^mac/ -e ^nsis/ -e ^docs/ | wc -l)"
|
|
||||||
echo "RUST_FILES_MODIFIED: $RUST_FILES_MODIFIED"
|
|
||||||
TEST_SWITCH=$1
|
|
||||||
rust_test () {
|
|
||||||
git submodule update --init --recursive
|
|
||||||
rustup show
|
|
||||||
if [[ "${RUST_FILES_MODIFIED}" == "0" ]];
|
|
||||||
then echo "Skipping Rust tests since no Rust files modified.";
|
|
||||||
else ./test.sh || exit $?;
|
|
||||||
fi
|
|
||||||
# if [[ "$CI_COMMIT_REF_NAME" == "nightly" ]];
|
|
||||||
# ### @TODO re-enable fail after https://github.com/paritytech/parity-import-tests/issues/3
|
|
||||||
# then sh scripts/aura-test.sh; # || exit $?;
|
|
||||||
# fi
|
|
||||||
}
|
|
||||||
coverage_test () {
|
|
||||||
git submodule update --init --recursive
|
|
||||||
rm -rf target/*
|
|
||||||
scripts/cov.sh
|
|
||||||
}
|
|
||||||
case $TEST_SWITCH in
|
|
||||||
stable )
|
|
||||||
rustup default stable
|
|
||||||
rust_test
|
|
||||||
;;
|
|
||||||
beta)
|
|
||||||
rustup default beta
|
|
||||||
rust_test
|
|
||||||
;;
|
|
||||||
nightly)
|
|
||||||
rustup default nightly
|
|
||||||
rust_test
|
|
||||||
;;
|
|
||||||
test-coverage)
|
|
||||||
coverage_test
|
|
||||||
;;
|
|
||||||
esac
|
|
@ -18,12 +18,15 @@ time cargo build --target $CARGO_TARGET --release --features final
|
|||||||
time cargo build --target $CARGO_TARGET --release -p evmbin
|
time cargo build --target $CARGO_TARGET --release -p evmbin
|
||||||
time cargo build --target $CARGO_TARGET --release -p ethstore-cli
|
time cargo build --target $CARGO_TARGET --release -p ethstore-cli
|
||||||
time cargo build --target $CARGO_TARGET --release -p ethkey-cli
|
time cargo build --target $CARGO_TARGET --release -p ethkey-cli
|
||||||
|
time cargo build --target $CARGO_TARGET --release -p whisper-cli
|
||||||
|
|
||||||
echo "_____ Post-processing binaries _____"
|
echo "_____ Post-processing binaries _____"
|
||||||
rm -rf artifacts
|
rm -rf artifacts
|
||||||
mkdir -p artifacts
|
mkdir -p artifacts
|
||||||
cd artifacts
|
cd artifacts
|
||||||
cp ../target/$CARGO_TARGET/release/{parity,parity-evm,ethstore,ethkey} .
|
mkdir -p $CARGO_TARGET
|
||||||
|
cd $CARGO_TARGET
|
||||||
|
cp ../../target/$CARGO_TARGET/release/{parity,parity-evm,ethstore,ethkey,whisper} .
|
||||||
strip -v ./*
|
strip -v ./*
|
||||||
echo "_____ Calculating checksums _____"
|
echo "_____ Calculating checksums _____"
|
||||||
for binary in $(ls)
|
for binary in $(ls)
|
||||||
|
@ -11,15 +11,25 @@ time cargo build --target $CARGO_TARGET --release --features final
|
|||||||
time cargo build --target $CARGO_TARGET --release -p evmbin
|
time cargo build --target $CARGO_TARGET --release -p evmbin
|
||||||
time cargo build --target $CARGO_TARGET --release -p ethstore-cli
|
time cargo build --target $CARGO_TARGET --release -p ethstore-cli
|
||||||
time cargo build --target $CARGO_TARGET --release -p ethkey-cli
|
time cargo build --target $CARGO_TARGET --release -p ethkey-cli
|
||||||
|
time cargo build --target $CARGO_TARGET --release -p whisper-cli
|
||||||
|
echo "__________Sign binaries__________"
|
||||||
|
scripts/gitlab/sign.cmd $keyfile $certpass target/$CARGO_TARGET/release/parity.exe
|
||||||
|
scripts/gitlab/sign.cmd $keyfile $certpass target/$CARGO_TARGET/release/parity-evm.exe
|
||||||
|
scripts/gitlab/sign.cmd $keyfile $certpass target/$CARGO_TARGET/release/ethstore.exe
|
||||||
|
scripts/gitlab/sign.cmd $keyfile $certpass target/$CARGO_TARGET/release/ethkey.exe
|
||||||
|
scripts/gitlab/sign.cmd $keyfile $certpass target/$CARGO_TARGET/release/whisper.exe
|
||||||
|
|
||||||
echo "_____ Post-processing binaries _____"
|
echo "_____ Post-processing binaries _____"
|
||||||
rm -rf artifacts
|
rm -rf artifacts
|
||||||
mkdir -p artifacts
|
mkdir -p artifacts
|
||||||
cd artifacts
|
cd artifacts
|
||||||
cp --verbose ../target/$CARGO_TARGET/release/{parity,parity-evm,ethstore,ethkey}.exe .
|
mkdir -p $CARGO_TARGET
|
||||||
|
cd $CARGO_TARGET
|
||||||
|
cp --verbose ../../target/$CARGO_TARGET/release/{parity.exe,parity-evm.exe,ethstore.exe,ethkey.exe,whisper.exe} .
|
||||||
|
|
||||||
echo "_____ Calculating checksums _____"
|
echo "_____ Calculating checksums _____"
|
||||||
for binary in $(ls)
|
for binary in $(ls)
|
||||||
do
|
do
|
||||||
rhash --sha256 $binary -o $binary.unsigned.sha256
|
rhash --sha256 $binary -o $binary.sha256
|
||||||
done
|
done
|
||||||
|
cp parity.exe.sha256 parity.sha256
|
||||||
|
@ -1,317 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
#ARGUMENTS: 1. BUILD_PLATFORM (target for binaries) 2. PLATFORM (target for cargo) 3. ARC (architecture) 4. & 5. CC & CXX flags 6. binary identifier
|
|
||||||
BUILD_PLATFORM=$1
|
|
||||||
PLATFORM=$2
|
|
||||||
ARC=$3
|
|
||||||
CC=$4
|
|
||||||
CXX=$5
|
|
||||||
IDENT=$6
|
|
||||||
VER="$(grep -m 1 "version =" Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")"
|
|
||||||
S3WIN=""
|
|
||||||
echo "--------------------"
|
|
||||||
echo "Build for platform: " $BUILD_PLATFORM
|
|
||||||
echo "Build identifier: " $IDENT
|
|
||||||
echo "Cargo target: " $PLATFORM
|
|
||||||
echo "CC&CXX flags: " $CC ", " $CXX
|
|
||||||
echo "Architecture: " $ARC
|
|
||||||
echo "Parity version: " $VER
|
|
||||||
echo "Branch: " $CI_BUILD_REF_NAME
|
|
||||||
echo "Protect? " $protect
|
|
||||||
echo "--------------------"
|
|
||||||
|
|
||||||
# NOTE for sha256 we want to display filename as well
|
|
||||||
# hence we use --* instead of -p *
|
|
||||||
SHA256_BIN="rhash --sha256"
|
|
||||||
|
|
||||||
set_env () {
|
|
||||||
echo "__________Set ENVIROMENT__________"
|
|
||||||
export HOST_CC=gcc
|
|
||||||
export HOST_CXX=g++
|
|
||||||
rm -rf .cargo
|
|
||||||
mkdir -p .cargo
|
|
||||||
echo "[target.$PLATFORM]" >> .cargo/config
|
|
||||||
echo "linker= \"$CC\"" >> .cargo/config
|
|
||||||
cat .cargo/config
|
|
||||||
}
|
|
||||||
set_env_win () {
|
|
||||||
set PLATFORM=x86_64-pc-windows-msvc
|
|
||||||
set INCLUDE="C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include;C:\vs2015\VC\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt"
|
|
||||||
set LIB="C:\vs2015\VC\lib;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64"
|
|
||||||
set RUST_BACKTRACE=1
|
|
||||||
#export RUSTFLAGS=$RUSTFLAGS
|
|
||||||
rustup default stable-x86_64-pc-windows-msvc
|
|
||||||
echo "@ signtool sign /f "\%"1 /p "\%"2 /tr http://timestamp.comodoca.com /du https://parity.io "\%"3" > sign.cmd
|
|
||||||
}
|
|
||||||
build () {
|
|
||||||
echo "__________Build parity__________"
|
|
||||||
time cargo build --target $PLATFORM --features final --release
|
|
||||||
echo "__________Build evmbin__________"
|
|
||||||
time cargo build --target $PLATFORM --release -p evmbin
|
|
||||||
echo "__________Build ethstore-cli__________"
|
|
||||||
time cargo build --target $PLATFORM --release -p ethstore-cli
|
|
||||||
echo "__________Build ethkey-cli__________"
|
|
||||||
time cargo build --target $PLATFORM --release -p ethkey-cli
|
|
||||||
}
|
|
||||||
strip_binaries () {
|
|
||||||
echo "__________Strip binaries__________"
|
|
||||||
$STRIP_BIN -v target/$PLATFORM/release/parity
|
|
||||||
$STRIP_BIN -v target/$PLATFORM/release/parity-evm
|
|
||||||
$STRIP_BIN -v target/$PLATFORM/release/ethstore
|
|
||||||
$STRIP_BIN -v target/$PLATFORM/release/ethkey;
|
|
||||||
}
|
|
||||||
calculate_checksums () {
|
|
||||||
echo "__________Checksum calculation__________"
|
|
||||||
rhash --version
|
|
||||||
|
|
||||||
rm -rf *.sha256
|
|
||||||
BIN="target/$PLATFORM/release/parity$S3WIN"
|
|
||||||
export SHA3="$($BIN tools hash $BIN)"
|
|
||||||
|
|
||||||
echo "Parity file SHA3: $SHA3"
|
|
||||||
$SHA256_BIN target/$PLATFORM/release/parity$S3WIN > parity$S3WIN.sha256
|
|
||||||
$SHA256_BIN target/$PLATFORM/release/parity-evm$S3WIN > parity-evm$S3WIN.sha256
|
|
||||||
$SHA256_BIN target/$PLATFORM/release/ethstore$S3WIN > ethstore$S3WIN.sha256
|
|
||||||
$SHA256_BIN target/$PLATFORM/release/ethkey$S3WIN > ethkey$S3WIN.sha256
|
|
||||||
$SHA256_BIN target/$PLATFORM/release/whisper$S3WIN > whisper$S3WIN.sha256
|
|
||||||
}
|
|
||||||
sign_exe () {
|
|
||||||
if [[ -z "$protect" ]]; then echo "__________Skipping sign binaries__________"&&return; fi
|
|
||||||
./sign.cmd $keyfile $certpass "target/$PLATFORM/release/parity.exe"
|
|
||||||
<<<<<<< HEAD:scripts/gitlab/build.sh
|
|
||||||
./sign.cmd $keyfile $certpass windows/ptray/x64/release/ptray.exe
|
|
||||||
}
|
|
||||||
make_exe () {
|
|
||||||
./msbuild.cmd
|
|
||||||
sign_exe
|
|
||||||
cd nsis
|
|
||||||
curl -sL --url "https://github.com/paritytech/win-build/raw/master/vc_redist.x64.exe" -o vc_redist.x64.exe
|
|
||||||
echo "makensis.exe installer.nsi" > nsis.cmd
|
|
||||||
./nsis.cmd
|
|
||||||
cd ..
|
|
||||||
cp nsis/installer.exe "parity_"$VER"_"$IDENT"_"$ARC"."$EXT
|
|
||||||
./sign.cmd $keyfile $certpass "parity_"$VER"_"$IDENT"_"$ARC"."$EXT
|
|
||||||
$MD5_BIN "parity_"$VER"_"$IDENT"_"$ARC"."$EXT -p %h > "parity_"$VER"_"$IDENT"_"$ARC"."$EXT".md5"
|
|
||||||
$SHA256_BIN "parity_"$VER"_"$IDENT"_"$ARC"."$EXT -p %h > "parity_"$VER"_"$IDENT"_"$ARC"."$EXT".sha256"
|
|
||||||
=======
|
|
||||||
./sign.cmd $keyfile $certpass "target/$PLATFORM/release/parity-evm.exe"
|
|
||||||
./sign.cmd $keyfile $certpass "target/$PLATFORM/release/ethstore.exe"
|
|
||||||
./sign.cmd $keyfile $certpass "target/$PLATFORM/release/ethkey.exe"
|
|
||||||
./sign.cmd $keyfile $certpass "target/$PLATFORM/release/whisper.exe"
|
|
||||||
>>>>>>> master:scripts/gitlab-build.sh
|
|
||||||
}
|
|
||||||
push_snap () {
|
|
||||||
if [[ -z "$protect" ]]; then echo "__________Skipping push and release snap__________"&&return; fi
|
|
||||||
snapcraft_login=$(expect -c "
|
|
||||||
spawn snapcraft login
|
|
||||||
expect \"Email:\"
|
|
||||||
send \"$SNAP_EMAIL\n\"
|
|
||||||
expect \"Password:\"
|
|
||||||
send \"$SNAP_PASS\n\"
|
|
||||||
expect \"\$\"
|
|
||||||
")
|
|
||||||
echo "$snapcraft_login"
|
|
||||||
snapcraft push "parity_"$VER"_"$ARC".snap" >> push.log
|
|
||||||
cat push.log
|
|
||||||
REVISION="$(grep -m 1 "Revision " push.log | awk '{print $2}')"
|
|
||||||
echo "__________Revision__________"
|
|
||||||
echo $REVISION
|
|
||||||
sleep 120
|
|
||||||
if [[ "$CI_BUILD_REF_NAME" = "beta" || "$VER" == *1.9* ]];
|
|
||||||
then
|
|
||||||
snapcraft release parity_"$VER"_"$ARC".snap $REVISION beta
|
|
||||||
snapcraft release parity_"$VER"_"$ARC".snap $REVISION candidate;
|
|
||||||
fi
|
|
||||||
if [[ "$CI_BUILD_REF_NAME" = "nightly" ]];
|
|
||||||
then
|
|
||||||
snapcraft release parity_"$VER"_"$ARC".snap $REVISION edge;
|
|
||||||
fi
|
|
||||||
if [[ "$CI_BUILD_REF_NAME" = "beta" || "$VER" == *1.8* ]];
|
|
||||||
then
|
|
||||||
snapcraft release parity_"$VER"_"$ARC".snap $REVISION stable;
|
|
||||||
fi
|
|
||||||
snapcraft status parity
|
|
||||||
snapcraft logout
|
|
||||||
}
|
|
||||||
make_snap () {
|
|
||||||
export HOST_CC=gcc
|
|
||||||
export HOST_CXX=g++
|
|
||||||
apt install -y expect zip rhash
|
|
||||||
snapcraft clean
|
|
||||||
echo "__________ Prepare snapcraft.yaml for build on Gitlab CI in Docker image __________"
|
|
||||||
sed -i 's/git/'"$VER"'/g' snap/snapcraft.yaml
|
|
||||||
if [[ "$CI_BUILD_REF_NAME" = "beta" || "$VER" == *1.9* ]];
|
|
||||||
then
|
|
||||||
sed -i -e 's/grade: devel/grade: stable/' snap/snapcraft.yaml;
|
|
||||||
fi
|
|
||||||
if [[ "$ARC" = "i386" ]];
|
|
||||||
then
|
|
||||||
export ARCH=i686&&ln -s /usr/bin/gcc /usr/bin/i386-linux-gnu-gcc;
|
|
||||||
fi
|
|
||||||
mv -f snap/snapcraft.yaml snapcraft.yaml
|
|
||||||
snapcraft --target-arch=$ARC -d
|
|
||||||
echo "__________Build comlete__________"
|
|
||||||
push_snap
|
|
||||||
echo "__________Checksum calculation__________"
|
|
||||||
$MD5_BIN "parity_"$VER"_"$ARC".snap" > "parity_"$VER"_"$ARC".snap.md5"
|
|
||||||
$SHA256_BIN "parity_"$VER"_"$ARC".snap" > "parity_"$VER"_"$ARC".snap.sha256"
|
|
||||||
echo "__________Copy all artifacts to one place__________"
|
|
||||||
rm -rf artifacts
|
|
||||||
mkdir -p artifacts
|
|
||||||
cp "parity_"$VER"_"$ARC".snap" artifacts
|
|
||||||
cp "parity_"$VER"_"$ARC".snap.md5" artifacts
|
|
||||||
cp "parity_"$VER"_"$ARC".snap.sha256" artifacts
|
|
||||||
}
|
|
||||||
push_binaries () {
|
|
||||||
if [[ -z "$protect" ]]; then echo "__________Skipping push to S3__________"&&return; fi
|
|
||||||
echo "__________Push binaries to AWS S3__________"
|
|
||||||
aws configure set aws_access_key_id $s3_key
|
|
||||||
aws configure set aws_secret_access_key $s3_secret
|
|
||||||
if [[ "$CI_BUILD_REF_NAME" = "beta" || "$CI_BUILD_REF_NAME" = "stable" || "$CI_BUILD_REF_NAME" = "nightly" ]];
|
|
||||||
then
|
|
||||||
export S3_BUCKET=builds-parity-published;
|
|
||||||
else
|
|
||||||
export S3_BUCKET=builds-parity;
|
|
||||||
fi
|
|
||||||
aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$BUILD_PLATFORM
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity$S3WIN --body target/$PLATFORM/release/parity$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity$S3WIN.sha256 --body parity$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity-evm$S3WIN --body target/$PLATFORM/release/parity-evm$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity-evm$S3WIN.sha256 --body parity-evm$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethstore$S3WIN --body target/$PLATFORM/release/ethstore$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethstore$S3WIN.sha256 --body ethstore$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethkey$S3WIN --body target/$PLATFORM/release/ethkey$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethkey$S3WIN.sha256 --body ethkey$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/whisper$S3WIN --body target/$PLATFORM/release/whisper$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/whisper$S3WIN.sha256 --body whisper$S3WIN.sha256
|
|
||||||
}
|
|
||||||
|
|
||||||
make_archive () {
|
|
||||||
echo "add artifacts to archive"
|
|
||||||
rm -rf parity.zip
|
|
||||||
zip -r parity.zip target/$PLATFORM/release/parity$S3WIN target/$PLATFORM/release/parity-evm$S3WIN target/$PLATFORM/release/ethstore$S3WIN target/$PLATFORM/release/ethkey$S3WIN target/$PLATFORM/release/whisper$S3WIN parity$S3WIN.sha256 parity-evm$S3WIN.sha256 ethstore$S3WIN.sha256 ethkey$S3WIN.sha256 whisper$S3WIN.sha256
|
|
||||||
}
|
|
||||||
updater_push_release () {
|
|
||||||
echo "__________Build comlete__________"
|
|
||||||
if [[ -z "$protect" ]]; then echo "__________Skipping push release__________"&&return; fi
|
|
||||||
echo "__________Push release___________"
|
|
||||||
DATA="commit=$CI_BUILD_REF&sha3=$SHA3&filename=parity$S3WIN&secret=$RELEASES_SECRET"
|
|
||||||
# Mainnet
|
|
||||||
source scripts/safe_curl.sh $DATA "http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$BUILD_PLATFORM"
|
|
||||||
# Kovan
|
|
||||||
source scripts/safe_curl.sh $DATA "http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$BUILD_PLATFORM"
|
|
||||||
}
|
|
||||||
build_and_push () {
|
|
||||||
build
|
|
||||||
strip_binaries
|
|
||||||
calculate_checksums
|
|
||||||
make_deb
|
|
||||||
prepare_artifacts
|
|
||||||
push_binaries
|
|
||||||
updater_push_release
|
|
||||||
}
|
|
||||||
case $BUILD_PLATFORM in
|
|
||||||
x86_64-unknown-linux-gnu)
|
|
||||||
#set strip bin
|
|
||||||
STRIP_BIN="strip"
|
|
||||||
#package extention
|
|
||||||
build
|
|
||||||
strip_binaries
|
|
||||||
calculate_checksums
|
|
||||||
make_archive
|
|
||||||
push_binaries
|
|
||||||
updater_push_release
|
|
||||||
;;
|
|
||||||
i686-unknown-linux-gnu)
|
|
||||||
STRIP_BIN="strip"
|
|
||||||
set_env
|
|
||||||
<<<<<<< HEAD:scripts/gitlab/build.sh
|
|
||||||
build_and_push
|
|
||||||
=======
|
|
||||||
build
|
|
||||||
strip_binaries
|
|
||||||
calculate_checksums
|
|
||||||
make_archive
|
|
||||||
push_binaries
|
|
||||||
>>>>>>> master:scripts/gitlab-build.sh
|
|
||||||
;;
|
|
||||||
armv7-unknown-linux-gnueabihf)
|
|
||||||
STRIP_BIN="arm-linux-gnueabihf-strip"
|
|
||||||
set_env
|
|
||||||
build
|
|
||||||
strip_binaries
|
|
||||||
calculate_checksums
|
|
||||||
make_archive
|
|
||||||
push_binaries
|
|
||||||
;;
|
|
||||||
arm-unknown-linux-gnueabihf)
|
|
||||||
STRIP_BIN="arm-linux-gnueabihf-strip"
|
|
||||||
set_env
|
|
||||||
build
|
|
||||||
strip_binaries
|
|
||||||
calculate_checksums
|
|
||||||
make_archive
|
|
||||||
push_binaries
|
|
||||||
;;
|
|
||||||
aarch64-unknown-linux-gnu)
|
|
||||||
STRIP_BIN="aarch64-linux-gnu-strip"
|
|
||||||
set_env
|
|
||||||
build
|
|
||||||
strip_binaries
|
|
||||||
calculate_checksums
|
|
||||||
make_archive
|
|
||||||
push_binaries
|
|
||||||
;;
|
|
||||||
x86_64-apple-darwin)
|
|
||||||
STRIP_BIN="strip"
|
|
||||||
PLATFORM="x86_64-apple-darwin"
|
|
||||||
build
|
|
||||||
strip_binaries
|
|
||||||
calculate_checksums
|
|
||||||
make_archive
|
|
||||||
push_binaries
|
|
||||||
updater_push_release
|
|
||||||
;;
|
|
||||||
x86_64-unknown-snap-gnu)
|
|
||||||
ARC="amd64"
|
|
||||||
EXT="snap"
|
|
||||||
apt update
|
|
||||||
apt install -y expect zip rhash
|
|
||||||
snapcraft clean
|
|
||||||
echo "Prepare snapcraft.yaml for build on Gitlab CI in Docker image"
|
|
||||||
sed -i 's/git/'"$VER"'/g' snap/snapcraft.yaml
|
|
||||||
if [[ "$CI_BUILD_REF_NAME" = "stable" || "$CI_BUILD_REF_NAME" = "beta" || "$VER" == *1.11* || "$VER" == *2.0* ]];
|
|
||||||
then
|
|
||||||
sed -i -e 's/grade: devel/grade: stable/' snap/snapcraft.yaml;
|
|
||||||
fi
|
|
||||||
mv -f snap/snapcraft.yaml snapcraft.yaml
|
|
||||||
snapcraft -d
|
|
||||||
snapcraft_login=$(expect -c "
|
|
||||||
spawn snapcraft login
|
|
||||||
expect \"Email:\"
|
|
||||||
send \"$SNAP_EMAIL\n\"
|
|
||||||
expect \"Password:\"
|
|
||||||
send \"$SNAP_PASS\n\"
|
|
||||||
expect \"\$\"
|
|
||||||
")
|
|
||||||
echo "$snapcraft_login"
|
|
||||||
snapcraft push "parity_"$VER"_amd64.snap"
|
|
||||||
snapcraft status parity
|
|
||||||
snapcraft logout
|
|
||||||
$SHA256_BIN "parity_"$VER"_amd64.snap" > "parity_"$VER"_amd64.snap.sha256"
|
|
||||||
echo "add artifacts to archive"
|
|
||||||
rm -rf parity.zip
|
|
||||||
zip -r parity.zip "parity_"$VER"_amd64.snap" "parity_"$VER"_amd64.snap.sha256"
|
|
||||||
;;
|
|
||||||
x86_64-pc-windows-msvc)
|
|
||||||
set_env_win
|
|
||||||
EXT="exe"
|
|
||||||
S3WIN=".exe"
|
|
||||||
build
|
|
||||||
sign_exe
|
|
||||||
calculate_checksums
|
|
||||||
make_archive
|
|
||||||
push_binaries
|
|
||||||
updater_push_release
|
|
||||||
esac
|
|
@ -3,7 +3,7 @@
|
|||||||
set -x
|
set -x
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
rm -rf target/*
|
rm -rf target/*
|
||||||
cargo test --all --exclude evmjit --no-run || exit $?
|
cargo test --all --exclude evmjit --no-run -- --test-threads 8|| exit $?
|
||||||
KCOV_TARGET="target/cov"
|
KCOV_TARGET="target/cov"
|
||||||
KCOV_FLAGS="--verify"
|
KCOV_FLAGS="--verify"
|
||||||
EXCLUDE="/usr/lib,/usr/include,$HOME/.cargo,$HOME/.multirust,rocksdb,secp256k1"
|
EXCLUDE="/usr/lib,/usr/include,$HOME/.cargo,$HOME/.multirust,rocksdb,secp256k1"
|
||||||
@ -15,9 +15,6 @@ for FILE in `find target/debug/deps ! -name "*.*"`
|
|||||||
done
|
done
|
||||||
timeout --signal=SIGKILL 5m kcov --exclude-pattern $EXCLUDE $KCOV_FLAGS $KCOV_TARGET target/debug/parity-*
|
timeout --signal=SIGKILL 5m kcov --exclude-pattern $EXCLUDE $KCOV_FLAGS $KCOV_TARGET target/debug/parity-*
|
||||||
echo "Cover JS"
|
echo "Cover JS"
|
||||||
cd ../../js
|
|
||||||
npm install&&npm run test:coverage
|
|
||||||
cd ..
|
|
||||||
bash <(curl -s https://codecov.io/bash)&&
|
bash <(curl -s https://codecov.io/bash)&&
|
||||||
echo "Uploaded code coverage"
|
echo "Uploaded code coverage"
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -1 +0,0 @@
|
|||||||
MsBuild.exe windows\ptray\ptray.vcxproj /p:Platform=x64 /p:Configuration=Release
|
|
@ -1,19 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
OSX_PACKAGE="parity_"$VERSION"_macos_x86_64.pkg"
|
|
||||||
echo "__________Create MacOS package__________"
|
|
||||||
cd mac
|
|
||||||
xcodebuild -configuration Release
|
|
||||||
cd ..
|
|
||||||
packagesbuild -v mac/Parity.pkgproj
|
|
||||||
echo "__________Sign Package__________"
|
|
||||||
find . -name \*.pkg
|
|
||||||
productsign --sign 'Developer ID Installer: PARITY TECHNOLOGIES LIMITED (P2PX3JU8FT)' Parity\ Ethereum.pkg $OSX_PACKAGE
|
|
||||||
echo "__________Move package to artifacts__________"
|
|
||||||
mkdir -p packages
|
|
||||||
mv -v $OSX_PACKAGE packages/$OSX_PACKAGE
|
|
||||||
cd packages
|
|
||||||
echo "_____ Calculating checksums _____"
|
|
||||||
rhash --sha256 "parity_"$VERSION"_macos_x86_64.pkg" >> "parity_"$VERSION"_macos_x86_64.pkg.sha256"
|
|
@ -3,9 +3,9 @@
|
|||||||
set -e # fail on any error
|
set -e # fail on any error
|
||||||
set -u # treat unset variables as error
|
set -u # treat unset variables as error
|
||||||
case ${CI_COMMIT_REF_NAME} in
|
case ${CI_COMMIT_REF_NAME} in
|
||||||
master|*v1.12*|gitlab-next) export GRADE="devel";;
|
master|*v2.1*|gitlab-next) export GRADE="devel";;
|
||||||
beta|*v1.11*) export GRADE="stable";;
|
beta|*v2.0*) export GRADE="stable";;
|
||||||
stable|*v1.10*) export GRADE="stable";;
|
stable|*v1.11*) export GRADE="stable";;
|
||||||
*) echo "No release" exit 0;;
|
*) echo "No release" exit 0;;
|
||||||
esac
|
esac
|
||||||
SNAP_PACKAGE="parity_"$VERSION"_"$BUILD_ARCH".snap"
|
SNAP_PACKAGE="parity_"$VERSION"_"$BUILD_ARCH".snap"
|
||||||
@ -13,13 +13,13 @@ echo "__________Create snap package__________"
|
|||||||
echo "Release channel :" $GRADE " Branch/tag: " $CI_COMMIT_REF_NAME
|
echo "Release channel :" $GRADE " Branch/tag: " $CI_COMMIT_REF_NAME
|
||||||
snapcraft clean
|
snapcraft clean
|
||||||
echo $VERSION:$GRADE:$BUILD_ARCH
|
echo $VERSION:$GRADE:$BUILD_ARCH
|
||||||
cat scripts/gitlab/templates/snapcraft.template.yaml | envsubst '$VERSION:$GRADE:$BUILD_ARCH' > snapcraft.yaml
|
cat scripts/gitlab/templates/snapcraft.template.yaml | envsubst '$VERSION:$GRADE:$BUILD_ARCH:$CARGO_TARGET' > snapcraft.yaml
|
||||||
cat snapcraft.yaml
|
cat snapcraft.yaml
|
||||||
snapcraft --target-arch=$BUILD_ARCH
|
snapcraft --target-arch=$BUILD_ARCH
|
||||||
ls *.snap
|
ls *.snap
|
||||||
echo "__________Post-processing snap package__________"
|
echo "__________Post-processing snap package__________"
|
||||||
mkdir -p packages
|
mkdir -p artifacts
|
||||||
mv -v $SNAP_PACKAGE "packages/"$SNAP_PACKAGE
|
mv -v $SNAP_PACKAGE "artifacts/"$SNAP_PACKAGE
|
||||||
echo "_____ Calculating checksums _____"
|
echo "_____ Calculating checksums _____"
|
||||||
cd packages
|
cd artifacts
|
||||||
rhash --sha256 $SNAP_PACKAGE -o $SNAP_PACKAGE".sha256"
|
rhash --sha256 $SNAP_PACKAGE -o $SNAP_PACKAGE".sha256"
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
rm -rf /install
|
|
||||||
mkdir -p packages
|
|
||||||
echo "__________Create "$PKG" package__________"
|
|
||||||
PACKAGE="parity_"$VERSION"_"$IDENT"_"$BUILD_ARCH"."$PKG
|
|
||||||
mkdir -p /install/usr/bin
|
|
||||||
cp artifacts/parity /install/usr/bin
|
|
||||||
cp artifacts/parity-evm /install/usr/bin/parity-evm
|
|
||||||
cp artifacts/ethstore /install/usr/bin/ethstore
|
|
||||||
cp artifacts/ethkey /install/usr/bin/ethkey
|
|
||||||
cp scripts/gitlab/uninstall-parity.sh /install/usr/bin/uninstall-parity.sh
|
|
||||||
fpm --input-type dir \
|
|
||||||
--output-type $PKG \
|
|
||||||
--name parity \
|
|
||||||
--version $VERSION \
|
|
||||||
--license GPLv3 \
|
|
||||||
--depends "$LIBSSL" \
|
|
||||||
--provides parity \
|
|
||||||
--url https://parity.io \
|
|
||||||
--vendor "Parity Technologies" \
|
|
||||||
--architecture $BUILD_ARCH \
|
|
||||||
--maintainer "<devops@parity.io>" \
|
|
||||||
--description "Ethereum network client by Parity Technologies" \
|
|
||||||
--before-install scripts/gitlab/install-readme.sh \
|
|
||||||
--before-upgrade scripts/gitlab/uninstall-parity.sh \
|
|
||||||
--after-remove scripts/gitlab/uninstall-parity.sh \
|
|
||||||
-C /install \
|
|
||||||
-p packages/$PACKAGE
|
|
||||||
echo "_____ Calculating checksums _____"
|
|
||||||
cd packages
|
|
||||||
rhash --sha256 $PACKAGE > $PACKAGE".sha256"
|
|
@ -1,27 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
VERSION=$(grep -m 1 "version =" Cargo.toml | awk '{print $3}' | tr -d '"' | tr -d "\n")
|
|
||||||
echo "__________Create Windows package__________"
|
|
||||||
scripts/gitlab/msbuild.cmd
|
|
||||||
echo "__________Sign binaries__________"
|
|
||||||
scripts/gitlab/sign.cmd $keyfile $certpass artifacts/parity.exe
|
|
||||||
scripts/gitlab/sign.cmd $keyfile $certpass windows/ptray/x64/release/ptray.exe
|
|
||||||
echo "__________Create Windows installer__________"
|
|
||||||
cd nsis
|
|
||||||
curl -sL --url "https://github.com/paritytech/win-build/raw/master/vc_redist.x64.exe" -o vc_redist.x64.exe
|
|
||||||
echo "makensis.exe installer.nsi" > nsis.cmd
|
|
||||||
./nsis.cmd
|
|
||||||
cd ..
|
|
||||||
echo "__________Move package to artifacts__________"
|
|
||||||
mkdir -p packages
|
|
||||||
cp nsis/installer.exe packages/"parity_"$VERSION"_windows_x86_64.exe"
|
|
||||||
echo "__________Sign installer__________"
|
|
||||||
scripts/gitlab/sign.cmd $keyfile $certpass packages/"parity_"$VERSION"_windows_x86_64.exe"
|
|
||||||
echo "_____ Calculating checksums _____"
|
|
||||||
cd packages
|
|
||||||
for binary in $(ls)
|
|
||||||
do
|
|
||||||
rhash --sha256 $binary -o $binary.sha256
|
|
||||||
done
|
|
@ -4,15 +4,15 @@ set -e # fail on any error
|
|||||||
set -u # treat unset variables as error
|
set -u # treat unset variables as error
|
||||||
|
|
||||||
case ${CI_COMMIT_REF_NAME} in
|
case ${CI_COMMIT_REF_NAME} in
|
||||||
master|*v1.12*|gitlab-next) export CHANNEL="edge";;
|
master|*v2.1*|gitlab-next) export CHANNEL="edge";;
|
||||||
beta|*v1.11*) export CHANNEL="beta";;
|
beta|*v2.0*) export CHANNEL="beta";;
|
||||||
stable|*v1.10*) export CHANNEL="stable";;
|
stable|*v1.11*) export CHANNEL="stable";;
|
||||||
*) echo "No release" exit 0;;
|
*) echo "No release" exit 0;;
|
||||||
esac
|
esac
|
||||||
echo "Release channel :" $CHANNEL " Branch/tag: " $CI_COMMIT_REF_NAME
|
echo "Release channel :" $CHANNEL " Branch/tag: " $CI_COMMIT_REF_NAME
|
||||||
|
|
||||||
echo $SNAPCRAFT_LOGIN_PARITY_BASE64 | base64 --decode > snapcraft.login
|
echo $SNAPCRAFT_LOGIN_PARITY_BASE64 | base64 --decode > snapcraft.login
|
||||||
snapcraft login --with snapcraft.login
|
snapcraft login --with snapcraft.login
|
||||||
snapcraft push --release $CHANNEL "packages/parity_"$VERSION"_"$BUILD_ARCH".snap"
|
snapcraft push --release $CHANNEL "artifacts/parity_"$VERSION"_"$BUILD_ARCH".snap"
|
||||||
snapcraft status parity
|
snapcraft status parity
|
||||||
snapcraft logout
|
snapcraft logout
|
||||||
|
@ -1,25 +0,0 @@
|
|||||||
echo "__________Push binaries to AWS S3__________"
|
|
||||||
aws configure set aws_access_key_id $s3_key
|
|
||||||
aws configure set aws_secret_access_key $s3_secret
|
|
||||||
if [[ "$CI_BUILD_REF_NAME" = "master" || "$CI_BUILD_REF_NAME" = "beta" || "$CI_BUILD_REF_NAME" = "stable" || "$CI_BUILD_REF_NAME" = "nightly" ]];
|
|
||||||
then
|
|
||||||
export S3_BUCKET=builds-parity-published;
|
|
||||||
else
|
|
||||||
export S3_BUCKET=builds-parity;
|
|
||||||
fi
|
|
||||||
aws s3 rm --recursive s3://$S3_BUCKET/$CI_BUILD_REF_NAME/$BUILD_PLATFORM
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity$S3WIN --body target/$PLATFORM/release/parity$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity$S3WIN.md5 --body parity$S3WIN.md5
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity$S3WIN.sha256 --body parity$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity-evm$S3WIN --body target/$PLATFORM/release/parity-evm$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity-evm$S3WIN.md5 --body parity-evm$S3WIN.md5
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/parity-evm$S3WIN.sha256 --body parity-evm$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethstore$S3WIN --body target/$PLATFORM/release/ethstore$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethstore$S3WIN.md5 --body ethstore$S3WIN.md5
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethstore$S3WIN.sha256 --body ethstore$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethkey$S3WIN --body target/$PLATFORM/release/ethkey$S3WIN
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethkey$S3WIN.md5 --body ethkey$S3WIN.md5
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/ethkey$S3WIN.sha256 --body ethkey$S3WIN.sha256
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/"parity_"$VER"_"$IDENT"_"$ARC"."$EXT --body "parity_"$VER"_"$IDENT"_"$ARC"."$EXT
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/"parity_"$VER"_"$IDENT"_"$ARC"."$EXT".md5" --body "parity_"$VER"_"$IDENT"_"$ARC"."$EXT".md5"
|
|
||||||
aws s3api put-object --bucket $S3_BUCKET --key $CI_BUILD_REF_NAME/$BUILD_PLATFORM/"parity_"$VER"_"$IDENT"_"$ARC"."$EXT".sha256" --body "parity_"$VER"_"$IDENT"_"$ARC"."$EXT".sha256"
|
|
@ -1,38 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
echo "__________Set ENVIROMENT__________"
|
|
||||||
DOWNLOAD_PREFIX="https://github.com/paritytech/parity/releases/download/"$CI_COMMIT_REF_NAME"/"
|
|
||||||
DESCRIPTION="$(cat CHANGELOG.md)"
|
|
||||||
RELEASE_TABLE="$(cat scripts/gitlab/templates/release-table.md)"
|
|
||||||
RELEASE_TABLE="$(echo "${RELEASE_TABLE//\$VERSION/${VERSION}}")"
|
|
||||||
RELEASE_TABLE="$(echo "${RELEASE_TABLE//\$DOWNLOAD_PREFIX/${DOWNLOAD_PREFIX}}")"
|
|
||||||
#The text in the file CANGELOG.md before which the table with links is inserted. Must be present in this file necessarily
|
|
||||||
REPLACE_TEXT="The full list of included changes:"
|
|
||||||
case ${CI_COMMIT_REF_NAME} in
|
|
||||||
master|*v1.12*|nightly) NAME="Parity "$VERSION" nightly";;
|
|
||||||
beta|*v1.11*) NAME="Parity "$VERSION" beta";;
|
|
||||||
stable|*v1.10*) NAME="Parity "$VERSION" stable";;
|
|
||||||
*) echo "No release" exit 0;;
|
|
||||||
esac
|
|
||||||
cd packages
|
|
||||||
i=1
|
|
||||||
for binary in $(ls *.sha256)
|
|
||||||
do
|
|
||||||
sha256=$(cat $binary | awk '{ print $1}' )
|
|
||||||
RELEASE_TABLE="$(echo "${RELEASE_TABLE/sha${i}/${sha256}}")"
|
|
||||||
let ++i
|
|
||||||
done
|
|
||||||
#do not touch the following 3 lines. Features of output in Markdown
|
|
||||||
DESCRIPTION="$(echo "${DESCRIPTION/${REPLACE_TEXT}/${RELEASE_TABLE}
|
|
||||||
|
|
||||||
${REPLACE_TEXT}}")"
|
|
||||||
echo "__________Create release to Github____________"
|
|
||||||
github-release release --user "$GITHUB_USER" --repo parity --tag "$CI_COMMIT_REF_NAME" --draft --name "$NAME" --description "$DESCRIPTION"
|
|
||||||
echo "__________Upload files to Github____________"
|
|
||||||
|
|
||||||
for binary in $(ls -I "*.sha256")
|
|
||||||
do
|
|
||||||
github-release upload --user "$GITHUB_USER" --repo parity --tag "$CI_COMMIT_REF_NAME" --replace --name "$binary" --file $binary
|
|
||||||
done
|
|
@ -1,12 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
DATA="secret=$RELEASES_SECRET"
|
|
||||||
|
|
||||||
echo "Pushing release to Mainnet"
|
|
||||||
./scripts/safe_curl.sh $DATA "http://update.parity.io:1337/push-release/$CI_BUILD_REF_NAME/$CI_BUILD_REF"
|
|
||||||
|
|
||||||
echo "Pushing release to Kovan"
|
|
||||||
./scripts/safe_curl.sh $DATA "http://update.parity.io:1338/push-release/$CI_BUILD_REF_NAME/$CI_BUILD_REF"
|
|
67
scripts/gitlab/push.sh
Executable file
67
scripts/gitlab/push.sh
Executable file
@ -0,0 +1,67 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e # fail on any error
|
||||||
|
set -u # treat unset variables as error
|
||||||
|
updater_push_release () {
|
||||||
|
echo "push release"
|
||||||
|
# Mainnet
|
||||||
|
|
||||||
|
}
|
||||||
|
echo "__________Set ENVIROMENT__________"
|
||||||
|
DESCRIPTION="$(cat CHANGELOG.md)"
|
||||||
|
RELEASE_TABLE="$(cat scripts/gitlab/templates/release-table.md)"
|
||||||
|
RELEASE_TABLE="$(echo "${RELEASE_TABLE//\$VERSION/${VERSION}}")"
|
||||||
|
#The text in the file CANGELOG.md before which the table with links is inserted. Must be present in this file necessarily
|
||||||
|
REPLACE_TEXT="The full list of included changes:"
|
||||||
|
case ${CI_COMMIT_REF_NAME} in
|
||||||
|
master|*v2.1*|gitlab-next) NAME="Parity "$VERSION" nightly";;
|
||||||
|
beta|*v2.0*) NAME="Parity "$VERSION" beta";;
|
||||||
|
stable|*v1.11*) NAME="Parity "$VERSION" stable";;
|
||||||
|
*) echo "No release" exit 0;;
|
||||||
|
esac
|
||||||
|
cd artifacts
|
||||||
|
ls -l | sort -k9
|
||||||
|
filetest=( * )
|
||||||
|
echo ${filetest[*]}
|
||||||
|
for DIR in "${filetest[@]}";
|
||||||
|
do
|
||||||
|
cd $DIR
|
||||||
|
if [[ $DIR == "*windows*" ]];
|
||||||
|
then
|
||||||
|
WIN=".exe";
|
||||||
|
else
|
||||||
|
WIN="";
|
||||||
|
fi
|
||||||
|
for binary in $(ls parity.sha256)
|
||||||
|
do
|
||||||
|
sha256=$(cat $binary | awk '{ print $1}' )
|
||||||
|
case $DIR in
|
||||||
|
x86_64* )
|
||||||
|
DATA="commit=$CI_BUILD_REF&sha3=$sha256&filename=parity$WIN&secret=$RELEASES_SECRET"
|
||||||
|
../../scripts/gitlab/safe_curl.sh $DATA "http://update.parity.io:1337/push-build/$CI_BUILD_REF_NAME/$DIR"
|
||||||
|
# Kovan
|
||||||
|
../../scripts/gitlab/safe_curl.sh $DATA "http://update.parity.io:1338/push-build/$CI_BUILD_REF_NAME/$DIR"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
RELEASE_TABLE="$(echo "${RELEASE_TABLE/sha$DIR/${sha256}}")"
|
||||||
|
done
|
||||||
|
cd ..
|
||||||
|
done
|
||||||
|
#do not touch the following 3 lines. Features of output in Markdown
|
||||||
|
DESCRIPTION="$(echo "${DESCRIPTION/${REPLACE_TEXT}/${RELEASE_TABLE}
|
||||||
|
|
||||||
|
${REPLACE_TEXT}}")"
|
||||||
|
echo "$DESCRIPTION"
|
||||||
|
if [["$CI_COMMIT_REF_NAME" == "nightly" ]]; then DESCRIPTION=""; fi #TODO in the future, we need to prepare a script that will do changelog
|
||||||
|
echo "__________Create release to Github____________"
|
||||||
|
github-release release --user devops-parity --repo parity-ethereum --tag "$CI_COMMIT_REF_NAME" --draft --name "$NAME" --description "$DESCRIPTION"
|
||||||
|
echo "__________Push binaries to AWS S3____________"
|
||||||
|
aws configure set aws_access_key_id $s3_key
|
||||||
|
aws configure set aws_secret_access_key $s3_secret
|
||||||
|
if [[ "$CI_BUILD_REF_NAME" = "beta" || "$CI_BUILD_REF_NAME" = "stable" || "$CI_BUILD_REF_NAME" = "nightly" ]];
|
||||||
|
then
|
||||||
|
export S3_BUCKET=builds-parity-published;
|
||||||
|
else
|
||||||
|
export S3_BUCKET=builds-parity;
|
||||||
|
fi
|
||||||
|
aws s3 sync ./ s3://$S3_BUCKET/$CI_BUILD_REF_NAME/
|
54
scripts/gitlab/rpc-docs.sh
Executable file
54
scripts/gitlab/rpc-docs.sh
Executable file
@ -0,0 +1,54 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e # fail on any error
|
||||||
|
set -u # treat unset variables as error
|
||||||
|
|
||||||
|
clone_repos() {
|
||||||
|
echo "__________Clone repos__________"
|
||||||
|
git clone https://github.com/parity-js/jsonrpc.git jsonrpc
|
||||||
|
git clone https://github.com/paritytech/wiki.git wiki
|
||||||
|
}
|
||||||
|
|
||||||
|
build_docs() {
|
||||||
|
echo "__________Build docs__________"
|
||||||
|
npm install
|
||||||
|
npm run build:markdown
|
||||||
|
}
|
||||||
|
|
||||||
|
update_wiki_docs() {
|
||||||
|
echo "__________Update WIKI docs__________"
|
||||||
|
for file in $(ls jsonrpc/docs); do
|
||||||
|
module_name=${file:0:-3}
|
||||||
|
mv jsonrpc/docs/$file wiki/JSONRPC-$module_name-module.md
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_git() {
|
||||||
|
echo "__________Set github__________"
|
||||||
|
git config user.email "devops@parity.com"
|
||||||
|
git config user.name "Devops Parity"
|
||||||
|
}
|
||||||
|
|
||||||
|
commit_files() {
|
||||||
|
echo "__________Commit files__________"
|
||||||
|
git checkout -b rpcdoc-update-${CI_COMMIT_REF_NAME}
|
||||||
|
git commit .
|
||||||
|
git commit -m "Update docs to ${CI_COMMIT_REF_NAME}"
|
||||||
|
git tag -a "${CI_COMMIT_REF_NAME}"
|
||||||
|
}
|
||||||
|
|
||||||
|
upload_files() {
|
||||||
|
echo "__________Upload files__________"
|
||||||
|
git push --tags
|
||||||
|
}
|
||||||
|
|
||||||
|
setup_git
|
||||||
|
clone_repos
|
||||||
|
cp parity jsonrpc/.parity
|
||||||
|
cd jsonrpc
|
||||||
|
build_docs
|
||||||
|
cd ..
|
||||||
|
update_wiki_docs
|
||||||
|
cd wiki
|
||||||
|
commit_files
|
||||||
|
upload_files
|
@ -1,12 +1,12 @@
|
|||||||
| OS | Arch | Download | SHA256 Checksum |
|
| OS | Arch | Download | SHA256 Checksum |
|
||||||
|:---:|:---:|:---|:---|
|
|:---:|:---:|:---|:---|
|
||||||
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/linux.png" alt="Linux Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | x64 | [parity_$VERSION_centos_x86_64.rpm]($DOWNLOAD_PREFIXparity_$VERSION_centos_x86_64.rpm) | <sup>`sha1`</sup> |
|
| linux | arm64 | [parity](https://releases.parity.io/$VERSION/aarch64-unknown-linux-gnu/parity) | <sup>`shaaarch64-unknown-linux-gnu`</sup> |
|
||||||
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/linux.png" alt="Linux Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | x64 | [parity_$VERSION_debian_amd64.deb]($DOWNLOAD_PREFIXx86_64-unknown-debian-gnu/parity_$VERSION_debian_amd64.deb) | <sup>`sha2`</sup> |
|
| android | armv7 | [parity](https://releases.parity.io/$VERSION/armv7-linux-androideabi/parity) | <sup>`shaarmv7-linux-androideabi`</sup> |
|
||||||
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/apple.png" alt="Apple Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | x64 | [parity_$VERSION_macos_macos.pkg]($DOWNLOAD_PREFIXx86_64-apple-darwin/parity_$VERSION_macos_macos.pkg) | <sup>`sha3`</sup> |
|
| linux | armv7 | [parity](https://releases.parity.io/$VERSION/armv7-unknown-linux-gnueabihf/parity) | <sup>`shaarmv7-unknown-linux-gnueabihf`</sup> |
|
||||||
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/linux.png" alt="Linux Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | x64 | [parity_$VERSION_ubuntu_amd64.deb]($DOWNLOAD_PREFIXx86_64-unknown-linux-gnu/parity_$VERSION_ubuntu_amd64.deb) | <sup>`sha4`</sup> |
|
| linux | i686 | [parity](https://releases.parity.io/$VERSION/i686-unknown-linux-gnu/parity) | <sup>`shai686-unknown-linux-gnu`</sup> |
|
||||||
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/linux.png" alt="Linux Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | arm64 | [parity_$VERSION_ubuntu_arm64.deb]($DOWNLOAD_PREFIXaarch64-unknown-linux-gnu/parity_$VERSION_ubuntu_arm64.deb) | <sup>`sha5`</sup> |
|
| osx | x64 | [parity](https://releases.parity.io/$VERSION/x86_64-apple-darwin/parity) | <sup>`shax86_64-apple-darwin`</sup> |
|
||||||
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/linux.png" alt="Linux Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | armv7 | [parity_$VERSION_ubuntu_armhf.deb]($DOWNLOAD_PREFIXarmv7-unknown-linux-gnueabihf/parity_$VERSION_ubuntu_armhf.deb) | <sup>`sha6`</sup> |
|
| windows | x64 | [parity.exe](https://releases.parity.io/$VERSION/x86_64-pc-windows-msvc/parity.exe) | <sup>`shax86_64-pc-windows-msvc`</sup> |
|
||||||
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/windows.png" alt="Windows Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | x64 | [parity_$VERSION_windows_x86_64.exe]($DOWNLOAD_PREFIXx86_64-pc-windows-msvc/parity_$VERSION_windows_x86_64.exe) | <sup>`sha7`</sup> |
|
| linux | x64 | [parity](https://releases.parity.io/$VERSION/x86_64-unknown-linux-gnu/parity) | <sup>`shax86_64-unknown-linux-gnu`</sup> |
|
||||||
|
|
||||||
| OS | Alternative | Link |
|
| OS | Alternative | Link |
|
||||||
|:---:|:---:|:---|
|
|:---:|:---:|:---|
|
||||||
|
@ -26,6 +26,9 @@ apps:
|
|||||||
ethstore:
|
ethstore:
|
||||||
command: ethstore
|
command: ethstore
|
||||||
plugs: [home]
|
plugs: [home]
|
||||||
|
whisper:
|
||||||
|
command: whisper
|
||||||
|
plugs: [home]
|
||||||
|
|
||||||
icon: snap/gui/icon.png
|
icon: snap/gui/icon.png
|
||||||
|
|
||||||
@ -39,7 +42,7 @@ parts:
|
|||||||
cp -v gui/parity.desktop $SNAPCRAFT_PART_INSTALL/usr/share/applications/
|
cp -v gui/parity.desktop $SNAPCRAFT_PART_INSTALL/usr/share/applications/
|
||||||
cp -v gui/icon.png $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps/
|
cp -v gui/icon.png $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps/
|
||||||
parity:
|
parity:
|
||||||
source: ./artifacts
|
source: ./artifacts/$CARGO_TARGET
|
||||||
plugin: nil
|
plugin: nil
|
||||||
override-build: |
|
override-build: |
|
||||||
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/bin
|
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/bin
|
||||||
@ -47,7 +50,8 @@ parts:
|
|||||||
cp -v parity-evm $SNAPCRAFT_PART_INSTALL/usr/bin/parity-evm
|
cp -v parity-evm $SNAPCRAFT_PART_INSTALL/usr/bin/parity-evm
|
||||||
cp -v ethkey $SNAPCRAFT_PART_INSTALL/usr/bin/ethkey
|
cp -v ethkey $SNAPCRAFT_PART_INSTALL/usr/bin/ethkey
|
||||||
cp -v ethstore $SNAPCRAFT_PART_INSTALL/usr/bin/ethstore
|
cp -v ethstore $SNAPCRAFT_PART_INSTALL/usr/bin/ethstore
|
||||||
stage-packages: [libc6, libssl1.0.0, libudev1, libstdc++6]
|
cp -v whisper $SNAPCRAFT_PART_INSTALL/usr/bin/whisper
|
||||||
|
stage-packages: [libc6, libssl1.0.0, libudev1, libstdc++6, cmake]
|
||||||
df:
|
df:
|
||||||
plugin: nil
|
plugin: nil
|
||||||
stage-packages: [coreutils]
|
stage-packages: [coreutils]
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
##ARGUMENTS: 1. Docker target
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
docker pull parity/rust-qemu:armhf
|
|
||||||
echo "Test wasmi on armhf"
|
|
||||||
docker run -it --rm -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static parity/rust-qemu:armhf \
|
|
||||||
bash `git clone https://github.com/paritytech/parity.git&&\
|
|
||||||
cd parity&&./test.sh&&cd ..&&rm -rf parity/`
|
|
@ -1,4 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
sudo killall -9 parity && sleep 5
|
|
||||||
sudo rm -f /usr/bin/parity /usr/bin/uninstall-parity.sh /usr/bin/ethstore /usr/bin/ethkey /usr/bin/parity-evm
|
|
@ -1,41 +0,0 @@
|
|||||||
name: parity
|
|
||||||
version: git
|
|
||||||
summary: Fast, light, robust Ethereum implementation
|
|
||||||
description: |
|
|
||||||
Parity's goal is to be the fastest, lightest, and most secure Ethereum
|
|
||||||
client. We are developing Parity using the sophisticated and cutting-edge
|
|
||||||
Rust programming language. Parity is licensed under the GPLv3, and can be
|
|
||||||
used for all your Ethereum needs.
|
|
||||||
|
|
||||||
grade: devel
|
|
||||||
confinement: strict
|
|
||||||
|
|
||||||
apps:
|
|
||||||
parity:
|
|
||||||
command: parity
|
|
||||||
plugs: [home, network, network-bind, mount-observe, x11, unity7, desktop, desktop-legacy, wayland]
|
|
||||||
desktop: usr/share/applications/parity.desktop
|
|
||||||
|
|
||||||
icon: snap/gui/icon.png
|
|
||||||
|
|
||||||
parts:
|
|
||||||
desktop-icon:
|
|
||||||
source: ./snap
|
|
||||||
plugin: nil
|
|
||||||
prepare: |
|
|
||||||
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/applications
|
|
||||||
mkdir -p $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps
|
|
||||||
cp -v gui/parity.desktop $SNAPCRAFT_PART_INSTALL/usr/share/applications/
|
|
||||||
cp -v gui/icon.png $SNAPCRAFT_PART_INSTALL/usr/share/pixmaps/
|
|
||||||
parity:
|
|
||||||
source: .
|
|
||||||
plugin: rust
|
|
||||||
# rust-channel: stable # @TODO enable after https://bugs.launchpad.net/snapcraft/+bug/1778530
|
|
||||||
rust-revision: 1.26.2 # @TODO remove after https://bugs.launchpad.net/snapcraft/+bug/1778530
|
|
||||||
build-attributes: [no-system-libraries]
|
|
||||||
build-packages: [g++, libudev-dev, make, pkg-config, cmake]
|
|
||||||
stage-packages: [libc6, libudev1, libstdc++6]
|
|
||||||
df:
|
|
||||||
plugin: nil
|
|
||||||
stage-packages: [coreutils]
|
|
||||||
stage: [bin/df]
|
|
Loading…
Reference in New Issue
Block a user