Add github actions
This commit is contained in:
parent
544725a018
commit
82b37bfa0d
18
.github/workflows/audit.yml
vendored
Normal file
18
.github/workflows/audit.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Security audit
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths: Cargo.lock
|
||||||
|
schedule:
|
||||||
|
- cron: '0 0 * * *'
|
||||||
|
jobs:
|
||||||
|
security_audit:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@v1
|
||||||
|
with:
|
||||||
|
fetch-depth: 50
|
||||||
|
- name: Run cargo audit
|
||||||
|
uses: actions-rs/audit-check@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
99
.github/workflows/build-test.yml
vendored
Normal file
99
.github/workflows/build-test.yml
vendored
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
name: Build and Test Suite
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- stable
|
||||||
|
jobs:
|
||||||
|
build-tests:
|
||||||
|
name: Test and Build
|
||||||
|
env:
|
||||||
|
SCCACHE_CACHE_SIZE: "1G"
|
||||||
|
SCCACHE_IDLE_TIMEOUT: 0
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
platform:
|
||||||
|
- ubuntu-20.04
|
||||||
|
- macos-latest
|
||||||
|
- windows-latest
|
||||||
|
toolchain:
|
||||||
|
- stable
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install toolchain
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: ${{ matrix.toolchain }}
|
||||||
|
profile: minimal
|
||||||
|
override: true
|
||||||
|
- name: Cache cargo registry
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/registry
|
||||||
|
key: ${{ runner.os }}-cargo-registry-build-tests-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache cargo index
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/git
|
||||||
|
key: ${{ runner.os }}-cargo-git-build-tests-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache cargo build
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: target
|
||||||
|
key: ${{ runner.os }}-cargo-build-target-build-tests-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache sccache linux
|
||||||
|
if: matrix.platform == 'ubuntu-20.04'
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "/home/runner/.cache/sccache"
|
||||||
|
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache sccache MacOS
|
||||||
|
if: matrix.platform == 'macos-latest'
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "/Users/runner/Library/Caches/Mozilla.sccache"
|
||||||
|
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache sccache Windows
|
||||||
|
if: matrix.platform == 'windows-latest'
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "C:\\Users\\runneradmin\\AppData\\Local\\Mozilla\\sccache\\cache"
|
||||||
|
key: ${{ runner.os }}-sccache-build-tests-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Install sccache for ${{ matrix.platform }}
|
||||||
|
shell: pwsh
|
||||||
|
run: pwsh scripts/actions/install-sccache.ps1 ${{ runner.os}}
|
||||||
|
- name: Install LLVM for Windows
|
||||||
|
if: matrix.platform == 'windows-latest'
|
||||||
|
run: choco install llvm
|
||||||
|
- name: Sccache statistics
|
||||||
|
run: sccache --show-stats
|
||||||
|
- name: Build tests
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --locked --all --release --features "json-tests" --verbose --no-run
|
||||||
|
- name: Run tests for ${{ matrix.platform }}
|
||||||
|
if: matrix.platform == 'windows-latest'
|
||||||
|
continue-on-error: true #Skip step if Windows tests failure
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --locked --all --release --features "json-tests" --verbose
|
||||||
|
- name: Run tests for ${{ matrix.platform }}
|
||||||
|
if: matrix.platform != 'windows-latest'
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --locked --all --release --features "json-tests" --verbose
|
||||||
|
- name: Stop sccache
|
||||||
|
if: always()
|
||||||
|
run: sccache --stop-server
|
||||||
|
- name: Prepare build directory for cache
|
||||||
|
shell: bash
|
||||||
|
run: bash scripts/actions/clean-target.sh
|
338
.github/workflows/build.yml
vendored
Normal file
338
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,338 @@
|
|||||||
|
name: Build Release Suite
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- stable
|
||||||
|
tags:
|
||||||
|
- v*
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build Release
|
||||||
|
env:
|
||||||
|
SCCACHE_CACHE_SIZE: "1G"
|
||||||
|
SCCACHE_IDLE_TIMEOUT: 0
|
||||||
|
AWS_S3_ARTIFACTS_BUCKET: "openethereum-releases"
|
||||||
|
AWS_REGION: "us-east-1"
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
platform:
|
||||||
|
- ubuntu-20.04
|
||||||
|
- macos-latest
|
||||||
|
- windows-latest
|
||||||
|
toolchain:
|
||||||
|
- stable
|
||||||
|
runs-on: ${{ matrix.platform }}
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@master
|
||||||
|
- name: Install toolchain
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: ${{ matrix.toolchain }}
|
||||||
|
profile: minimal
|
||||||
|
override: true
|
||||||
|
- name: Cache cargo registry
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/registry
|
||||||
|
key: ${{ runner.os }}-cargo-registry-build-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache cargo index
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/git
|
||||||
|
key: ${{ runner.os }}-cargo-git-build-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache cargo build
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: target
|
||||||
|
key: ${{ runner.os }}-cargo-build-target-build-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache sccache linux
|
||||||
|
if: matrix.platform == 'ubuntu-20.04'
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "/home/runner/.cache/sccache"
|
||||||
|
key: ${{ runner.os }}-sccache-build-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache sccache MacOS
|
||||||
|
if: matrix.platform == 'macos-latest'
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "/Users/runner/Library/Caches/Mozilla.sccache"
|
||||||
|
key: ${{ runner.os }}-sccache-build-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache sccache Windows
|
||||||
|
if: matrix.platform == 'windows-latest'
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "C:\\Users\\runneradmin\\AppData\\Local\\Mozilla\\sccache\\cache"
|
||||||
|
key: ${{ runner.os }}-sccache-build-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Install sccache for ${{ matrix.platform }}
|
||||||
|
shell: pwsh
|
||||||
|
run: pwsh scripts/actions/install-sccache.ps1 ${{ runner.os}}
|
||||||
|
|
||||||
|
# ==============================
|
||||||
|
# Windows Build
|
||||||
|
# ==============================
|
||||||
|
|
||||||
|
- name: Install LLVM for Windows
|
||||||
|
if: matrix.platform == 'windows-latest'
|
||||||
|
run: choco install llvm
|
||||||
|
|
||||||
|
- name: Sccache statistics
|
||||||
|
run: sccache --show-stats
|
||||||
|
|
||||||
|
- name: Build OpenEthereum for Windows
|
||||||
|
if: matrix.platform == 'windows-latest'
|
||||||
|
run: sh scripts/actions/build-windows.sh ${{matrix.platform}}
|
||||||
|
|
||||||
|
- name: Upload Windows build
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: matrix.platform == 'windows-latest'
|
||||||
|
with:
|
||||||
|
name: windows-artifacts
|
||||||
|
path: artifacts
|
||||||
|
|
||||||
|
# ==============================
|
||||||
|
# Linux/Macos Build
|
||||||
|
# ==============================
|
||||||
|
|
||||||
|
- name: Build OpenEthereum for ${{matrix.platform}}
|
||||||
|
if: matrix.platform != 'windows-latest'
|
||||||
|
run: sh scripts/actions/build-linux.sh ${{matrix.platform}}
|
||||||
|
|
||||||
|
- name: Upload Linux build
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: matrix.platform == 'ubuntu-20.04'
|
||||||
|
with:
|
||||||
|
name: linux-artifacts
|
||||||
|
path: artifacts
|
||||||
|
|
||||||
|
- name: Upload MacOS build
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: matrix.platform == 'macos-latest'
|
||||||
|
with:
|
||||||
|
name: macos-artifacts
|
||||||
|
path: artifacts
|
||||||
|
|
||||||
|
# ==============================
|
||||||
|
# End builds
|
||||||
|
# ==============================
|
||||||
|
|
||||||
|
- name: Stop sccache
|
||||||
|
if: always()
|
||||||
|
run: sccache --stop-server
|
||||||
|
|
||||||
|
- name: Prepare build directory for cache
|
||||||
|
shell: bash
|
||||||
|
run: bash scripts/actions/clean-target.sh
|
||||||
|
|
||||||
|
zip-artifacts-creator:
|
||||||
|
name: Create zip artifacts
|
||||||
|
needs: build
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: Set env
|
||||||
|
run: echo ::set-env name=RELEASE_VERSION::${GITHUB_REF#refs/*/}
|
||||||
|
|
||||||
|
# ==============================
|
||||||
|
# Create ZIP files
|
||||||
|
# ==============================
|
||||||
|
|
||||||
|
- name: Download Windows artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: windows-artifacts
|
||||||
|
path: windows-artifacts
|
||||||
|
|
||||||
|
- name: Download Linux artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: linux-artifacts
|
||||||
|
path: linux-artifacts
|
||||||
|
|
||||||
|
- name: Download MacOS artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: macos-artifacts
|
||||||
|
path: macos-artifacts
|
||||||
|
|
||||||
|
- name: Display structure of downloaded files
|
||||||
|
run: ls
|
||||||
|
|
||||||
|
- name: Create zip Linux
|
||||||
|
id: create_zip_linux
|
||||||
|
run: |
|
||||||
|
cd linux-artifacts/
|
||||||
|
zip -rT openethereum-linux-${{ env.RELEASE_VERSION }}.zip *
|
||||||
|
ls openethereum-linux-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
cd ..
|
||||||
|
mv linux-artifacts/openethereum-linux-${{ env.RELEASE_VERSION }}.zip .
|
||||||
|
|
||||||
|
echo "Setting outputs..."
|
||||||
|
echo ::set-output name=LINUX_ARTIFACT::openethereum-linux-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
echo ::set-output name=LINUX_SHASUM::$(shasum -a 256 openethereum-linux-${{ env.RELEASE_VERSION }}.zip | awk '{print $1}')
|
||||||
|
|
||||||
|
- name: Create zip MacOS
|
||||||
|
id: create_zip_macos
|
||||||
|
run: |
|
||||||
|
cd macos-artifacts/
|
||||||
|
zip -rT openethereum-macos-${{ env.RELEASE_VERSION }}.zip *
|
||||||
|
ls openethereum-macos-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
cd ..
|
||||||
|
mv macos-artifacts/openethereum-macos-${{ env.RELEASE_VERSION }}.zip .
|
||||||
|
|
||||||
|
echo "Setting outputs..."
|
||||||
|
echo ::set-output name=MACOS_ARTIFACT::openethereum-macos-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
echo ::set-output name=MACOS_SHASUM::$(shasum -a 256 openethereum-macos-${{ env.RELEASE_VERSION }}.zip | awk '{print $1}')
|
||||||
|
|
||||||
|
- name: Create zip Windows
|
||||||
|
id: create_zip_windows
|
||||||
|
run: |
|
||||||
|
cd windows-artifacts/
|
||||||
|
zip -rT openethereum-windows-${{ env.RELEASE_VERSION }}.zip *
|
||||||
|
ls openethereum-windows-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
cd ..
|
||||||
|
mv windows-artifacts/openethereum-windows-${{ env.RELEASE_VERSION }}.zip .
|
||||||
|
|
||||||
|
echo "Setting outputs..."
|
||||||
|
echo ::set-output name=WINDOWS_ARTIFACT::openethereum-windows-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
echo ::set-output name=WINDOWS_SHASUM::$(shasum -a 256 openethereum-windows-${{ env.RELEASE_VERSION }}.zip | awk '{print $1}')
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Upload artifacts
|
||||||
|
# This is required to share artifacts between different jobs
|
||||||
|
# =======================================================================
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: openethereum-linux-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
path: openethereum-linux-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
path: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
|
||||||
|
- name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
path: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
|
||||||
|
# =======================================================================
|
||||||
|
# Upload artifacts to S3
|
||||||
|
# This is required by some software distribution systems which require
|
||||||
|
# artifacts to be downloadable, like Brew on MacOS.
|
||||||
|
# =======================================================================
|
||||||
|
- name: Configure AWS credentials
|
||||||
|
uses: aws-actions/configure-aws-credentials@v1
|
||||||
|
with:
|
||||||
|
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||||
|
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
|
aws-region: ${{ env.AWS_REGION }}
|
||||||
|
|
||||||
|
- name: Copy files to S3 with the AWS CLI
|
||||||
|
run: |
|
||||||
|
# Deploy zip artifacts to S3 bucket to a directory whose name is the tagged release version.
|
||||||
|
# Deploy macos binary artifact (if required, add more `aws s3 cp` commands to deploy specific OS versions)
|
||||||
|
aws s3 cp macos-artifacts/openethereum s3://${{ env.AWS_S3_ARTIFACTS_BUCKET }}/${{ env.RELEASE_VERSION }}/macos/
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
linux-artifact: ${{ steps.create_zip_linux.outputs.LINUX_ARTIFACT }}
|
||||||
|
linux-shasum: ${{ steps.create_zip_linux.outputs.LINUX_SHASUM }}
|
||||||
|
macos-artifact: ${{ steps.create_zip_macos.outputs.MACOS_ARTIFACT }}
|
||||||
|
macos-shasum: ${{ steps.create_zip_macos.outputs.MACOS_SHASUM }}
|
||||||
|
windows-artifact: ${{ steps.create_zip_windows.outputs.WINDOWS_ARTIFACT }}
|
||||||
|
windows-shasum: ${{ steps.create_zip_windows.outputs.WINDOWS_SHASUM }}
|
||||||
|
|
||||||
|
draft-release:
|
||||||
|
name: Draft Release
|
||||||
|
needs: zip-artifacts-creator
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
steps:
|
||||||
|
- name: Set env
|
||||||
|
run: echo ::set-env name=RELEASE_VERSION::${GITHUB_REF#refs/*/}
|
||||||
|
|
||||||
|
# ==============================
|
||||||
|
# Download artifacts
|
||||||
|
# ==============================
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: openethereum-linux-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
|
||||||
|
- name: Download artifacts
|
||||||
|
uses: actions/download-artifact@v2
|
||||||
|
with:
|
||||||
|
name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
|
||||||
|
- name: Display structure of downloaded files
|
||||||
|
run: ls
|
||||||
|
|
||||||
|
# ==============================
|
||||||
|
# Create release draft
|
||||||
|
# ==============================
|
||||||
|
|
||||||
|
- name: Create Release Draft
|
||||||
|
id: create_release_draft
|
||||||
|
uses: actions/create-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token
|
||||||
|
with:
|
||||||
|
tag_name: ${{ github.ref }}
|
||||||
|
release_name: OpenEthereum ${{ github.ref }}
|
||||||
|
body: |
|
||||||
|
This release contains <ADD_TEXT>
|
||||||
|
|
||||||
|
| System | Architecture | Binary | Sha256 Checksum |
|
||||||
|
|:---:|:---:|:---:|:---|
|
||||||
|
| <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 | [${{ needs.zip-artifacts-creator.outputs.macos-artifact }}](https://github.com/openethereum/openethereum/releases/download/${{ env.RELEASE_VERSION }}/${{ needs.zip-artifacts-creator.outputs.macos-artifact }}) | `${{ needs.zip-artifacts-creator.outputs.macos-shasum }}` |
|
||||||
|
| <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 | [${{ needs.zip-artifacts-creator.outputs.linux-artifact }}](https://github.com/openethereum/openethereum/releases/download/${{ env.RELEASE_VERSION }}/${{ needs.zip-artifacts-creator.outputs.linux-artifact }}) | `${{ needs.zip-artifacts-creator.outputs.linux-shasum }}` |
|
||||||
|
| <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 | [${{ needs.zip-artifacts-creator.outputs.windows-artifact }}](https://github.com/openethereum/openethereum/releases/download/${{ env.RELEASE_VERSION }}/${{ needs.zip-artifacts-creator.outputs.windows-artifact }}) | `${{ needs.zip-artifacts-creator.outputs.windows-shasum }}` |
|
||||||
|
| | | | |
|
||||||
|
| **System** | **Option** | - | **Resource** |
|
||||||
|
| <img src="https://gist.github.com/5chdn/1fce888fde1d773761f809b607757f76/raw/44c4f0fc63f1ea8e61a9513af5131ef65eaa6c75/settings.png" alt="Settings Icon by Pixel Perfect from https://www.flaticon.com/authors/pixel-perfect" style="width: 32px;"/> | Docker | - | [hub.docker.com/r/openethereum/openethereum](https://hub.docker.com/r/openethereum/openethereum) |
|
||||||
|
|
||||||
|
draft: true
|
||||||
|
prerelease: true
|
||||||
|
|
||||||
|
- name: Upload Release Asset - Linux
|
||||||
|
id: upload_release_asset_linux
|
||||||
|
uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release_draft.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
||||||
|
asset_path: ./openethereum-linux-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
asset_name: openethereum-linux-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
asset_content_type: application/zip
|
||||||
|
|
||||||
|
- name: Upload Release Asset - MacOS
|
||||||
|
id: upload_release_asset_macos
|
||||||
|
uses: actions/upload-release-asset@v1.0.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release_draft.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
||||||
|
asset_path: ./openethereum-macos-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
asset_name: openethereum-macos-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
asset_content_type: application/zip
|
||||||
|
|
||||||
|
- name: Upload Release Asset - Windows
|
||||||
|
id: upload_release_asset_windows
|
||||||
|
uses: actions/upload-release-asset@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
upload_url: ${{ steps.create_release_draft.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
|
||||||
|
asset_path: ./openethereum-windows-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
asset_name: openethereum-windows-${{ env.RELEASE_VERSION }}.zip
|
||||||
|
asset_content_type: application/zip
|
86
.github/workflows/check.yml
vendored
Normal file
86
.github/workflows/check.yml
vendored
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
name: Check
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- stable
|
||||||
|
jobs:
|
||||||
|
check:
|
||||||
|
name: Check
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
env:
|
||||||
|
SCCACHE_CACHE_SIZE: "1G"
|
||||||
|
SCCACHE_IDLE_TIMEOUT: 0
|
||||||
|
steps:
|
||||||
|
- name: Checkout sources
|
||||||
|
uses: actions/checkout@master
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Install stable toolchain
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
toolchain: stable
|
||||||
|
profile: minimal
|
||||||
|
override: true
|
||||||
|
- name: Cache cargo registry
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/registry
|
||||||
|
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache cargo index
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: ~/.cargo/git
|
||||||
|
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Cache cargo build
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: target
|
||||||
|
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
# Install sccache based on https://github.com/denoland/rusty_v8/blob/master/.github/workflows/ci.yml#L69
|
||||||
|
- name: Cache sccache
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: "/home/runner/.cache/sccache"
|
||||||
|
key: ${{ runner.os }}-sccache-check-${{ hashFiles('**/Cargo.lock') }}
|
||||||
|
- name: Install sccache for Linux
|
||||||
|
shell: pwsh
|
||||||
|
run: pwsh scripts/actions/install-sccache.ps1 ${{ runner.os}}
|
||||||
|
- name: Sccache statistics
|
||||||
|
run: sccache --show-stats
|
||||||
|
- name: Run cargo check 1/3
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
args: --locked --no-default-features --verbose
|
||||||
|
- name: Run cargo check 2/3
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
args: --locked --manifest-path util/io/Cargo.toml --no-default-features --verbose
|
||||||
|
- name: Run cargo check 3/3
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
args: --locked --manifest-path util/io/Cargo.toml --features "mio" --verbose
|
||||||
|
- name: Run cargo check evmbin
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
args: --locked -p evmbin --verbose
|
||||||
|
- name: Run cargo check benches
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
args: --locked --all --benches --verbose
|
||||||
|
- name: Run validate chainspecs
|
||||||
|
run: ./scripts/actions/validate-chainspecs.sh
|
||||||
|
- name: Stop sccache
|
||||||
|
if: always()
|
||||||
|
run: sccache --stop-server
|
||||||
|
continue-on-error: true
|
||||||
|
- name: Prepare build directory for cache
|
||||||
|
shell: bash
|
||||||
|
run: bash scripts/actions/clean-target.sh
|
20
.github/workflows/fmt.yml
vendored
Normal file
20
.github/workflows/fmt.yml
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
name: rustfmt
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
fmt:
|
||||||
|
name: Rustfmt
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
- run: rustup component add rustfmt
|
||||||
|
- uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: fmt
|
||||||
|
args: --all -- --check --config merge_imports=true
|
370
.gitlab-ci.yml
370
.gitlab-ci.yml
@ -1,370 +0,0 @@
|
|||||||
stages:
|
|
||||||
- test
|
|
||||||
- build
|
|
||||||
- publish
|
|
||||||
- optional
|
|
||||||
|
|
||||||
image: ${REGISTRY}/parity-ci-linux:latest
|
|
||||||
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: fetch
|
|
||||||
GIT_SUBMODULE_STRATEGY: recursive
|
|
||||||
CI_SERVER_NAME: "GitLab CI"
|
|
||||||
CARGO_HOME: "/ci-cache/${CI_PROJECT_NAME}/cargo/${CI_JOB_NAME}"
|
|
||||||
CARGO_TARGET: x86_64-unknown-linux-gnu
|
|
||||||
REGISTRY: registry.parity.io/parity/infrastructure/scripts
|
|
||||||
|
|
||||||
.releaseable_branches: # list of git refs for building GitLab artifacts (think "pre-release binaries")
|
|
||||||
only: &releaseable_branches
|
|
||||||
- stable
|
|
||||||
- beta
|
|
||||||
- tags
|
|
||||||
- schedules
|
|
||||||
|
|
||||||
.collect_artifacts: &collect_artifacts
|
|
||||||
artifacts:
|
|
||||||
name: "${CI_JOB_NAME}_${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
|
|
||||||
when: on_success
|
|
||||||
expire_in: 1 mos
|
|
||||||
paths:
|
|
||||||
- artifacts/
|
|
||||||
- tools/
|
|
||||||
|
|
||||||
.docker-cache-status: &docker-cache-status
|
|
||||||
variables:
|
|
||||||
CARGO_HOME: "/ci-cache/parity-ethereum/cargo/${CI_JOB_NAME}"
|
|
||||||
dependencies: []
|
|
||||||
before_script:
|
|
||||||
- rustup show
|
|
||||||
- cargo --version
|
|
||||||
retry:
|
|
||||||
max: 2
|
|
||||||
when:
|
|
||||||
- runner_system_failure
|
|
||||||
- unknown_failure
|
|
||||||
- api_failure
|
|
||||||
tags:
|
|
||||||
- linux-docker
|
|
||||||
|
|
||||||
.build-on-linux: &build-on-linux
|
|
||||||
stage: build
|
|
||||||
<<: *docker-cache-status
|
|
||||||
<<: *collect_artifacts
|
|
||||||
script:
|
|
||||||
- scripts/gitlab/build-linux.sh
|
|
||||||
after_script:
|
|
||||||
- mkdir -p tools
|
|
||||||
- cp -r scripts/docker/hub/* ./tools
|
|
||||||
- cp scripts/gitlab/publish-snap.sh ./tools
|
|
||||||
- cp scripts/gitlab/publish-onchain.sh ./tools
|
|
||||||
- cp scripts/gitlab/safe-curl.sh ./tools
|
|
||||||
- echo v"$(sed -r -n '1,/^version/s/^version\s*=\s*"([^"]+)".*$/\1/p' Cargo.toml)" |
|
|
||||||
tee ./tools/VERSION
|
|
||||||
- echo "$(sed -r -n '1,/^track/s/^track\s*=\s*"([^"]+)".*$/\1/p' ./util/version/Cargo.toml)" |
|
|
||||||
tee ./tools/TRACK
|
|
||||||
|
|
||||||
|
|
||||||
cargo-check 0 3:
|
|
||||||
stage: test
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- time cargo check --target $CARGO_TARGET --locked --no-default-features --verbose --color=always
|
|
||||||
- sccache --show-stats
|
|
||||||
|
|
||||||
cargo-check 1 3:
|
|
||||||
stage: test
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- time cargo check --target $CARGO_TARGET --locked --manifest-path util/io/Cargo.toml --no-default-features --verbose --color=always
|
|
||||||
- sccache --show-stats
|
|
||||||
|
|
||||||
cargo-check 2 3:
|
|
||||||
stage: test
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- time cargo check --target $CARGO_TARGET --locked --manifest-path util/io/Cargo.toml --features "mio" --verbose --color=always
|
|
||||||
- sccache --show-stats
|
|
||||||
|
|
||||||
cargo-check-evmbin:
|
|
||||||
stage: test
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- time cargo check -p evmbin --target $CARGO_TARGET --locked --verbose --color=always
|
|
||||||
- sccache --show-stats
|
|
||||||
|
|
||||||
cargo-check-benches:
|
|
||||||
stage: test
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- time cargo check --all --benches --target $CARGO_TARGET --locked --verbose --color=always
|
|
||||||
- sccache --show-stats
|
|
||||||
|
|
||||||
cargo-audit:
|
|
||||||
stage: test
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- cargo audit
|
|
||||||
allow_failure: true # failed cargo audit shouldn't prevent a PR from being merged
|
|
||||||
|
|
||||||
validate-chainspecs:
|
|
||||||
stage: test
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- ./scripts/gitlab/validate-chainspecs.sh
|
|
||||||
|
|
||||||
test-cpp:
|
|
||||||
stage: build
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- ./scripts/gitlab/test-cpp.sh
|
|
||||||
|
|
||||||
test-linux:
|
|
||||||
stage: build
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- ./scripts/gitlab/test-linux.sh stable
|
|
||||||
|
|
||||||
test-linux-beta:
|
|
||||||
stage: build
|
|
||||||
only: *releaseable_branches
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- ./scripts/gitlab/test-linux.sh beta
|
|
||||||
|
|
||||||
test-linux-nightly:
|
|
||||||
stage: build
|
|
||||||
only: *releaseable_branches
|
|
||||||
<<: *docker-cache-status
|
|
||||||
script:
|
|
||||||
- ./scripts/gitlab/test-linux.sh nightly
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
build-android:
|
|
||||||
<<: *build-on-linux
|
|
||||||
image: ${REGISTRY}/parity-ci-android:stretch
|
|
||||||
variables:
|
|
||||||
CARGO_TARGET: armv7-linux-androideabi
|
|
||||||
|
|
||||||
build-linux:
|
|
||||||
<<: *build-on-linux
|
|
||||||
only: *releaseable_branches
|
|
||||||
|
|
||||||
build-linux-i386:
|
|
||||||
<<: *build-on-linux
|
|
||||||
only: *releaseable_branches
|
|
||||||
image: ${REGISTRY}/parity-ci-i386:latest
|
|
||||||
variables:
|
|
||||||
CARGO_TARGET: i686-unknown-linux-gnu
|
|
||||||
|
|
||||||
build-linux-arm64:
|
|
||||||
<<: *build-on-linux
|
|
||||||
only: *releaseable_branches
|
|
||||||
image: ${REGISTRY}/parity-ci-arm64:latest
|
|
||||||
variables:
|
|
||||||
CARGO_TARGET: aarch64-unknown-linux-gnu
|
|
||||||
|
|
||||||
build-linux-armhf:
|
|
||||||
<<: *build-on-linux
|
|
||||||
only: *releaseable_branches
|
|
||||||
image: ${REGISTRY}/parity-ci-armhf:latest
|
|
||||||
variables:
|
|
||||||
CARGO_TARGET: armv7-unknown-linux-gnueabihf
|
|
||||||
|
|
||||||
build-darwin:
|
|
||||||
stage: build
|
|
||||||
<<: *collect_artifacts
|
|
||||||
only: *releaseable_branches
|
|
||||||
variables:
|
|
||||||
CARGO_TARGET: x86_64-apple-darwin
|
|
||||||
CARGO_HOME: "${CI_PROJECT_DIR}/.cargo"
|
|
||||||
CC: gcc
|
|
||||||
CXX: g++
|
|
||||||
script:
|
|
||||||
- scripts/gitlab/build-linux.sh
|
|
||||||
tags:
|
|
||||||
- rust-osx
|
|
||||||
|
|
||||||
build-windows:
|
|
||||||
stage: build
|
|
||||||
<<: *collect_artifacts
|
|
||||||
only: *releaseable_branches
|
|
||||||
variables:
|
|
||||||
CARGO_TARGET: x86_64-pc-windows-msvc
|
|
||||||
CARGO_HOME: "C:/ci-cache/parity-ethereum/cargo/$CI_JOB_NAME"
|
|
||||||
GIT_SUBMODULE_STRATEGY: none
|
|
||||||
script:
|
|
||||||
- sh scripts/gitlab/build-windows.sh
|
|
||||||
tags:
|
|
||||||
- rust-windows
|
|
||||||
|
|
||||||
publish-docker:
|
|
||||||
stage: publish
|
|
||||||
only: *releaseable_branches
|
|
||||||
except:
|
|
||||||
- nightly
|
|
||||||
when: manual
|
|
||||||
dependencies:
|
|
||||||
- build-linux
|
|
||||||
environment:
|
|
||||||
name: parity-build
|
|
||||||
cache: {}
|
|
||||||
image: docker:stable
|
|
||||||
services:
|
|
||||||
- docker:dind
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
DOCKER_HOST: tcp://localhost:2375
|
|
||||||
DOCKER_DRIVER: overlay2
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
# DOCKERFILE: tools/Dockerfile
|
|
||||||
# CONTAINER_IMAGE: parity/parity
|
|
||||||
script:
|
|
||||||
- ./tools/publish-docker.sh
|
|
||||||
tags:
|
|
||||||
- kubernetes-parity-build
|
|
||||||
|
|
||||||
publish-snap-nightly: &publish-snap
|
|
||||||
stage: publish
|
|
||||||
only:
|
|
||||||
- nightly
|
|
||||||
image: snapcore/snapcraft
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
BUILD_ARCH: amd64
|
|
||||||
cache: {}
|
|
||||||
dependencies:
|
|
||||||
- build-linux
|
|
||||||
tags:
|
|
||||||
- linux-docker
|
|
||||||
script:
|
|
||||||
- ./tools/publish-snap.sh
|
|
||||||
|
|
||||||
publish-snap-manually:
|
|
||||||
<<: *publish-snap
|
|
||||||
only: *releaseable_branches
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
publish-snap-i386-nightly: &publish-snap-i386
|
|
||||||
<<: *publish-snap
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: i386
|
|
||||||
CARGO_TARGET: i686-unknown-linux-gnu
|
|
||||||
dependencies:
|
|
||||||
- build-linux-i386
|
|
||||||
|
|
||||||
publish-snap-i386-manually:
|
|
||||||
<<: *publish-snap-i386
|
|
||||||
only: *releaseable_branches
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
publish-snap-arm64-nightly: &publish-snap-arm64
|
|
||||||
<<: *publish-snap
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: arm64
|
|
||||||
CARGO_TARGET: aarch64-unknown-linux-gnu
|
|
||||||
dependencies:
|
|
||||||
- build-linux-arm64
|
|
||||||
|
|
||||||
publish-snap-arm64-manually:
|
|
||||||
<<: *publish-snap-arm64
|
|
||||||
only: *releaseable_branches
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
publish-snap-armhf-nightly: &publish-snap-armhf
|
|
||||||
<<: *publish-snap
|
|
||||||
variables:
|
|
||||||
BUILD_ARCH: armhf
|
|
||||||
CARGO_TARGET: armv7-unknown-linux-gnueabihf
|
|
||||||
dependencies:
|
|
||||||
- build-linux-armhf
|
|
||||||
|
|
||||||
publish-snap-armhf-manually:
|
|
||||||
<<: *publish-snap-armhf
|
|
||||||
only: *releaseable_branches
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
publish-onchain-nightly: &publish-onchain
|
|
||||||
stage: publish
|
|
||||||
only:
|
|
||||||
- nightly
|
|
||||||
cache: {}
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
dependencies:
|
|
||||||
- build-linux
|
|
||||||
- build-darwin
|
|
||||||
- build-windows
|
|
||||||
script:
|
|
||||||
- ./tools/publish-onchain.sh
|
|
||||||
tags:
|
|
||||||
- linux-docker
|
|
||||||
|
|
||||||
publish-onchain-manually:
|
|
||||||
<<: *publish-onchain
|
|
||||||
only: *releaseable_branches
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
publish-release-awss3-nightly: &publish-release-awss3
|
|
||||||
image: ${REGISTRY}/awscli:latest
|
|
||||||
stage: publish
|
|
||||||
only:
|
|
||||||
- nightly
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
cache: {}
|
|
||||||
dependencies:
|
|
||||||
- build-linux
|
|
||||||
- build-darwin
|
|
||||||
- build-windows
|
|
||||||
script:
|
|
||||||
- echo "__________Push binaries to AWS S3____________"
|
|
||||||
- case "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" in
|
|
||||||
(beta|stable|nightly)
|
|
||||||
export BUCKET=releases.parity.io/ethereum;
|
|
||||||
;;
|
|
||||||
(*)
|
|
||||||
export BUCKET=builds-parity;
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
- aws s3 sync ./artifacts s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/
|
|
||||||
- echo "__________Read from S3____________"
|
|
||||||
- aws s3 ls s3://${BUCKET}/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}} --recursive --human-readable --summarize
|
|
||||||
tags:
|
|
||||||
- linux-docker
|
|
||||||
|
|
||||||
publish-release-awss3-manually:
|
|
||||||
<<: *publish-release-awss3
|
|
||||||
only: *releaseable_branches
|
|
||||||
when: manual
|
|
||||||
|
|
||||||
publish-docs:
|
|
||||||
stage: publish
|
|
||||||
image: ${REGISTRY}/parity-ci-docs:latest
|
|
||||||
only:
|
|
||||||
- tags
|
|
||||||
except:
|
|
||||||
- nightly
|
|
||||||
when: manual
|
|
||||||
cache: {}
|
|
||||||
dependencies: []
|
|
||||||
script:
|
|
||||||
- scripts/gitlab/publish-docs.sh
|
|
||||||
tags:
|
|
||||||
- linux-docker
|
|
||||||
allow_failure: true
|
|
||||||
|
|
||||||
publish-av-whitelist:
|
|
||||||
stage: publish
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
only: *releaseable_branches
|
|
||||||
except:
|
|
||||||
- nightly
|
|
||||||
when: manual
|
|
||||||
cache: {}
|
|
||||||
dependencies:
|
|
||||||
- build-windows
|
|
||||||
script:
|
|
||||||
- scripts/gitlab/publish-av-whitelists.sh
|
|
||||||
tags:
|
|
||||||
- linux-docker
|
|
22
scripts/actions/build-linux.sh
Executable file
22
scripts/actions/build-linux.sh
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e # fail on any error
|
||||||
|
set -u # treat unset variables as error
|
||||||
|
#strip ON
|
||||||
|
export RUSTFLAGS=" -Clink-arg=-s -Ctarget-feature=+aes,+sse2,+ssse3"
|
||||||
|
|
||||||
|
echo "_____ Build OpenEthereum and tools _____"
|
||||||
|
|
||||||
|
time cargo build --verbose --color=always --release --features final
|
||||||
|
time cargo build --verbose --color=always --release -p evmbin
|
||||||
|
time cargo build --verbose --color=always --release -p ethstore-cli
|
||||||
|
time cargo build --verbose --color=always --release -p ethkey-cli
|
||||||
|
|
||||||
|
echo "_____ Post-processing binaries _____"
|
||||||
|
rm -rf artifacts/*
|
||||||
|
mkdir -p artifacts/
|
||||||
|
|
||||||
|
cp -v target/release/parity artifacts/parity
|
||||||
|
cp -v target/release/parity-evm artifacts/parity-evm
|
||||||
|
cp -v target/release/ethstore artifacts/ethstore
|
||||||
|
cp -v target/release/ethkey artifacts/ethkey
|
21
scripts/actions/build-windows.sh
Executable file
21
scripts/actions/build-windows.sh
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e # fail on any error
|
||||||
|
set -u # treat unset variables as error
|
||||||
|
# NOTE: Enables the aes-ni instructions for RustCrypto dependency.
|
||||||
|
# If you change this please remember to also update .cargo/config
|
||||||
|
export RUSTFLAGS=" -Ctarget-feature=+aes,+sse2,+ssse3 -Ctarget-feature=+crt-static -Clink-arg=-s"
|
||||||
|
|
||||||
|
echo "_____ Build Parity and tools _____"
|
||||||
|
time cargo build --verbose --release --features final
|
||||||
|
time cargo build --verbose --release -p evmbin
|
||||||
|
time cargo build --verbose --release -p ethstore-cli
|
||||||
|
time cargo build --verbose --release -p ethkey-cli
|
||||||
|
|
||||||
|
echo "_____ Post-processing binaries _____"
|
||||||
|
rm -rf artifacts
|
||||||
|
mkdir -p artifacts
|
||||||
|
|
||||||
|
cp --verbose target/release/parity.exe artifacts/parity.exe
|
||||||
|
cp --verbose target/release/parity-evm.exe artifacts/parity-evm.exe
|
||||||
|
cp --verbose target/release/ethstore.exe artifacts/ethstore.exe
|
||||||
|
cp --verbose target/release/ethkey.exe artifacts/ethkey.exe
|
8
scripts/actions/clean-target.sh
Executable file
8
scripts/actions/clean-target.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e # fail on any error
|
||||||
|
set -u # treat unset variables as error
|
||||||
|
|
||||||
|
find ./target/release -maxdepth 1 -type f -delete;
|
||||||
|
rm -fr ./target/release/{deps,.fingerprint}/*{parity,ethcore,ethkey,ethstore,parity-evm}*;
|
||||||
|
rm -f ./target/.rustc_info.json;
|
19
scripts/actions/install-sccache.ps1
Executable file
19
scripts/actions/install-sccache.ps1
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env pwsh
|
||||||
|
$os=$args[0]
|
||||||
|
$version="0.2.12"
|
||||||
|
echo "Current OS:" $os
|
||||||
|
switch ($os){
|
||||||
|
"macOS" {$platform = "x86_64-apple-darwin"}
|
||||||
|
"Linux" {$platform = "x86_64-unknown-linux-musl"}
|
||||||
|
"Windows" {$platform ="x86_64-pc-windows-msvc"}
|
||||||
|
}
|
||||||
|
echo "Target arch: " $platform
|
||||||
|
$basename = "sccache-$version-$platform"
|
||||||
|
$url = "https://github.com/mozilla/sccache/releases/download/"+"$version/$basename.tar.gz"
|
||||||
|
echo "Download sccache from "+$url
|
||||||
|
curl -LO $url
|
||||||
|
tar -xzvf "$basename.tar.gz"
|
||||||
|
ls $basename/
|
||||||
|
. $basename/sccache --start-server
|
||||||
|
echo "::add-path::$(pwd)/$basename"
|
||||||
|
echo "::set-env name=RUSTC_WRAPPER::sccache"
|
@ -1,63 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
export CC="sccache "$CC
|
|
||||||
export CXX="sccache "$CXX
|
|
||||||
echo "__________Show ENVIROMENT__________"
|
|
||||||
echo "CI_SERVER_NAME: " $CI_SERVER_NAME
|
|
||||||
echo "CARGO_HOME: " $CARGO_HOME
|
|
||||||
echo "CARGO_TARGET: " $CARGO_TARGET
|
|
||||||
echo "CC: " $CC
|
|
||||||
echo "CXX: " $CXX
|
|
||||||
#strip ON
|
|
||||||
export RUSTFLAGS=" -C link-arg=-s"
|
|
||||||
|
|
||||||
echo "_____ Building target: "$CARGO_TARGET" _____"
|
|
||||||
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
|
||||||
then
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --color=always --release -p parity-clib --features final
|
|
||||||
else
|
|
||||||
if [ "${CARGO_TARGET}" = "x86_64-unknown-linux-gnu" ] || [ "${CARGO_TARGET}" = "x86_64-apple-darwin" ]
|
|
||||||
then
|
|
||||||
# NOTE: Enables the aes-ni instructions for RustCrypto dependency.
|
|
||||||
# If you change this please remember to also update .cargo/config
|
|
||||||
export RUSTFLAGS="$RUSTFLAGS -Ctarget-feature=+aes,+sse2,+ssse3"
|
|
||||||
fi
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --color=always --release --features final
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --color=always --release -p evmbin
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --color=always --release -p ethstore-cli
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --color=always --release -p ethkey-cli
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --color=always --release -p whisper-cli
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "_____ Post-processing binaries _____"
|
|
||||||
rm -rf artifacts/*
|
|
||||||
mkdir -p artifacts/$CARGO_TARGET
|
|
||||||
cd artifacts/$CARGO_TARGET
|
|
||||||
|
|
||||||
if [ "${CARGO_TARGET}" = "armv7-linux-androideabi" ]
|
|
||||||
then
|
|
||||||
cp -v ../../target/$CARGO_TARGET/release/libparity.so ./libparity.so
|
|
||||||
else
|
|
||||||
cp -v ../../target/$CARGO_TARGET/release/parity ./parity
|
|
||||||
cp -v ../../target/$CARGO_TARGET/release/parity-evm ./parity-evm
|
|
||||||
cp -v ../../target/$CARGO_TARGET/release/ethstore ./ethstore
|
|
||||||
cp -v ../../target/$CARGO_TARGET/release/ethkey ./ethkey
|
|
||||||
cp -v ../../target/$CARGO_TARGET/release/whisper ./whisper
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "_____ Calculating checksums _____"
|
|
||||||
for binary in $(ls)
|
|
||||||
do
|
|
||||||
rhash --sha256 $binary -o $binary.sha256 #do we still need this hash (SHA2)?
|
|
||||||
if [[ $CARGO_TARGET == *"x86_64"* ]];
|
|
||||||
then
|
|
||||||
./parity tools hash $binary > $binary.sha3
|
|
||||||
else
|
|
||||||
echo ">[WARN] ${binary} cannot be hashed with cross-compiled binary (keccak256)"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
#show sccache statistics
|
|
||||||
sccache --show-stats
|
|
@ -1,51 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
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"
|
|
||||||
sccache -s
|
|
||||||
|
|
||||||
echo "__________Show ENVIROMENT__________"
|
|
||||||
echo "CI_SERVER_NAME: " $CI_SERVER_NAME
|
|
||||||
echo "CARGO_HOME: " $CARGO_HOME
|
|
||||||
echo "CARGO_TARGET: " $CARGO_TARGET
|
|
||||||
echo "RUSTC_WRAPPER: " $RUSTC_WRAPPER
|
|
||||||
echo "SCCACHE_DIR: " $SCCACHE_DIR
|
|
||||||
|
|
||||||
echo "_____ Building target: "$CARGO_TARGET" _____"
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --release --features final
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --release -p evmbin
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --release -p ethstore-cli
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --release -p ethkey-cli
|
|
||||||
time cargo build --target $CARGO_TARGET --verbose --release -p whisper-cli
|
|
||||||
|
|
||||||
echo "__________Sign binaries__________"
|
|
||||||
scripts/gitlab/sign-win.cmd $keyfile $certpass target/$CARGO_TARGET/release/parity.exe
|
|
||||||
scripts/gitlab/sign-win.cmd $keyfile $certpass target/$CARGO_TARGET/release/parity-evm.exe
|
|
||||||
scripts/gitlab/sign-win.cmd $keyfile $certpass target/$CARGO_TARGET/release/ethstore.exe
|
|
||||||
scripts/gitlab/sign-win.cmd $keyfile $certpass target/$CARGO_TARGET/release/ethkey.exe
|
|
||||||
scripts/gitlab/sign-win.cmd $keyfile $certpass target/$CARGO_TARGET/release/whisper.exe
|
|
||||||
|
|
||||||
echo "_____ Post-processing binaries _____"
|
|
||||||
rm -rf artifacts
|
|
||||||
mkdir -p artifacts
|
|
||||||
cd artifacts
|
|
||||||
mkdir -p $CARGO_TARGET
|
|
||||||
cd $CARGO_TARGET
|
|
||||||
cp --verbose ../../target/$CARGO_TARGET/release/parity.exe ./parity.exe
|
|
||||||
cp --verbose ../../target/$CARGO_TARGET/release/parity-evm.exe ./parity-evm.exe
|
|
||||||
cp --verbose ../../target/$CARGO_TARGET/release/ethstore.exe ./ethstore.exe
|
|
||||||
cp --verbose ../../target/$CARGO_TARGET/release/ethkey.exe ./ethkey.exe
|
|
||||||
cp --verbose ../../target/$CARGO_TARGET/release/whisper.exe ./whisper.exe
|
|
||||||
|
|
||||||
echo "_____ Calculating checksums _____"
|
|
||||||
for binary in $(ls)
|
|
||||||
do
|
|
||||||
rhash --sha256 $binary -o $binary.sha256
|
|
||||||
./parity.exe tools hash $binary > $binary.sha3
|
|
||||||
done
|
|
||||||
cp parity.exe.sha256 parity.sha256
|
|
||||||
cp parity.exe.sha3 parity.sha3
|
|
||||||
|
|
||||||
sccache -s
|
|
@ -1,25 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
target_filename="parity-${CI_COMMIT_TAG:-${CI_COMMIT_REF_NAME}}.exe"
|
|
||||||
apt -y update
|
|
||||||
apt -y install ftp
|
|
||||||
|
|
||||||
echo "__________Publish Windows binaries to Avast Whitelisting program__________"
|
|
||||||
|
|
||||||
ftp -pinv whitelisting.avast.com <<EOF
|
|
||||||
quote USER ftp_parityio
|
|
||||||
quote PASS $avast_ftp_password
|
|
||||||
cd /share
|
|
||||||
put ./artifacts/x86_64-pc-windows-msvc/parity.exe $target_filename
|
|
||||||
bye
|
|
||||||
EOF
|
|
||||||
|
|
||||||
echo "__________Publish Windows binaries to Kaspersky Whitelisting program__________"
|
|
||||||
|
|
||||||
ftp -pinv whitelist1.kaspersky-labs.com <<EOF
|
|
||||||
quote USER wl-ParityTech
|
|
||||||
quote PASS $kaspersky_ftp_password
|
|
||||||
put ./artifacts/x86_64-pc-windows-msvc/parity.exe $target_filename
|
|
||||||
bye
|
|
||||||
EOF
|
|
@ -1,77 +0,0 @@
|
|||||||
#!/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
|
|
||||||
git clone https://github.com/paritytech/parity-config-generator
|
|
||||||
}
|
|
||||||
|
|
||||||
build_docs() {
|
|
||||||
echo "__________Build docs__________"
|
|
||||||
npm install
|
|
||||||
npm run build:markdown
|
|
||||||
}
|
|
||||||
|
|
||||||
build_config() {
|
|
||||||
echo "_______Build config docs______"
|
|
||||||
yarn install
|
|
||||||
AUTOGENSCRIPT=1 yarn generate-docs
|
|
||||||
}
|
|
||||||
|
|
||||||
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
|
|
||||||
mv parity-config-generator/docs/config.md wiki/Configuring-Parity-Ethereum.md
|
|
||||||
}
|
|
||||||
|
|
||||||
setup_git() {
|
|
||||||
echo "__________Set github__________"
|
|
||||||
git config --global user.email "devops-team@parity.io"
|
|
||||||
git config --global user.name "Devops Team Parity"
|
|
||||||
}
|
|
||||||
|
|
||||||
set_remote_wiki() {
|
|
||||||
git config remote.origin.url "https://${GITHUB_TOKEN}@github.com/paritytech/wiki.git"
|
|
||||||
}
|
|
||||||
|
|
||||||
commit_files() {
|
|
||||||
echo "__________Commit files__________"
|
|
||||||
git checkout -b rpcdoc-update-${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}
|
|
||||||
git add .
|
|
||||||
git commit -m "Update docs to ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
|
|
||||||
git tag -a -f "${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}" -m "Update RPC and config docs to ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}"
|
|
||||||
}
|
|
||||||
|
|
||||||
upload_files() {
|
|
||||||
echo "__________Upload files__________"
|
|
||||||
# this version of git (2.7.4) will dump the token on failure
|
|
||||||
git push -q origin HEAD 2>&1 \
|
|
||||||
| sed -r "s|(${GITHUB_USER}):[a-f0-9]+@|\1:REDACTED@|g"
|
|
||||||
git push -q -f --tags 2>&1 \
|
|
||||||
| sed -r "s|(${GITHUB_USER}):[a-f0-9]+@|\1:REDACTED@|g"
|
|
||||||
}
|
|
||||||
|
|
||||||
RPC_TRAITS_DIR="rpc/src/v1/traits"
|
|
||||||
|
|
||||||
setup_git
|
|
||||||
clone_repos
|
|
||||||
mkdir -p "jsonrpc/.parity/$RPC_TRAITS_DIR"
|
|
||||||
cp $RPC_TRAITS_DIR/*.rs "jsonrpc/.parity/$RPC_TRAITS_DIR"
|
|
||||||
cd jsonrpc
|
|
||||||
build_docs
|
|
||||||
cd ..
|
|
||||||
cd parity-config-generator
|
|
||||||
build_config
|
|
||||||
cd ..
|
|
||||||
update_wiki_docs
|
|
||||||
cd wiki
|
|
||||||
set_remote_wiki
|
|
||||||
commit_files
|
|
||||||
upload_files
|
|
@ -1,33 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
echo "__________Register Release__________"
|
|
||||||
DATA="secret=$RELEASES_SECRET"
|
|
||||||
|
|
||||||
echo "Pushing release to Mainnet"
|
|
||||||
./tools/safe-curl.sh $DATA "https://update.parity.io/push-release/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/$CI_COMMIT_SHA"
|
|
||||||
|
|
||||||
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
|
|
||||||
sha3=$(cat parity.sha3 | awk '{print $1}')
|
|
||||||
case $DIR in
|
|
||||||
x86_64* )
|
|
||||||
DATA="commit=$CI_COMMIT_SHA&sha3=$sha3&filename=parity$WIN&secret=$RELEASES_SECRET"
|
|
||||||
../../tools/safe-curl.sh $DATA "https://update.parity.io/push-build/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}/$DIR"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
cd ..
|
|
||||||
done
|
|
@ -1,46 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
# prepare variables
|
|
||||||
TRACK=$(cat ./tools/TRACK)
|
|
||||||
echo "Track is: ${TRACK}"
|
|
||||||
VERSION=$(cat ./tools/VERSION)
|
|
||||||
SNAP_PACKAGE="parity_"$VERSION"_"$BUILD_ARCH".snap"
|
|
||||||
# Choose snap release channel based on parity ethereum version track
|
|
||||||
case ${TRACK} in
|
|
||||||
nightly) export GRADE="devel" CHANNEL="edge";;
|
|
||||||
beta) export GRADE="stable" CHANNEL="beta";;
|
|
||||||
stable) export GRADE="stable" CHANNEL="stable";;
|
|
||||||
*) echo "No release" && exit 0;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
echo "__________Create snap package__________"
|
|
||||||
echo "Release channel :" $GRADE " Branch/tag: " $CI_COMMIT_REF_NAME "Track: " ${TRACK}
|
|
||||||
echo $VERSION:$GRADE:$BUILD_ARCH:$CARGO_TARGET
|
|
||||||
|
|
||||||
sed -e 's/$VERSION/'"$VERSION"'/g' \
|
|
||||||
-e 's/$GRADE/'"$GRADE"'/g' \
|
|
||||||
-e 's/$BUILD_ARCH/'"$BUILD_ARCH"'/g' \
|
|
||||||
-e 's/$CARGO_TARGET/'"$CARGO_TARGET"'/g' \
|
|
||||||
scripts/snap/snapcraft.template.yaml > snapcraft.yaml
|
|
||||||
|
|
||||||
apt update
|
|
||||||
apt install -y --no-install-recommends rhash
|
|
||||||
cat snapcraft.yaml
|
|
||||||
snapcraft --target-arch=$BUILD_ARCH
|
|
||||||
ls *.snap
|
|
||||||
|
|
||||||
echo "__________Calculating checksums__________"
|
|
||||||
rhash --sha256 $SNAP_PACKAGE -o $SNAP_PACKAGE".sha256"
|
|
||||||
cat $SNAP_PACKAGE".sha256"
|
|
||||||
|
|
||||||
echo "__________Releasing snap package__________"
|
|
||||||
echo "Release channel :" $CHANNEL " Branch/tag: " $CI_COMMIT_REF_NAME
|
|
||||||
|
|
||||||
echo $SNAPCRAFT_LOGIN_PARITY_BASE64 | base64 --decode > snapcraft.login
|
|
||||||
snapcraft login --with snapcraft.login
|
|
||||||
snapcraft push --release $CHANNEL $SNAP_PACKAGE
|
|
||||||
snapcraft status parity
|
|
||||||
snapcraft logout
|
|
@ -1,30 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo "________Running rust_changes.sh________"
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
echo "__________Checking if Rust files were changed__________"
|
|
||||||
git log --graph --oneline --decorate=short -n 10
|
|
||||||
|
|
||||||
case ${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}} in
|
|
||||||
(beta|stable)
|
|
||||||
export GIT_COMPARE=origin/${SCHEDULE_TAG:-${CI_COMMIT_REF_NAME}}~
|
|
||||||
;;
|
|
||||||
(master|nightly)
|
|
||||||
export GIT_COMPARE=master~
|
|
||||||
;;
|
|
||||||
(*)
|
|
||||||
export GIT_COMPARE=master
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
export RUST_FILES_MODIFIED="$(git --no-pager diff --name-only $GIT_COMPARE...$CI_COMMIT_SHA | grep -v -e ^\\. -e ^LICENSE -e ^README.md -e ^CHANGELOG.md -e ^test.sh -e ^scripts/ -e ^docs/ -e ^docker/ -e ^snap/ | wc -l | tr -d ' ')"
|
|
||||||
echo "RUST_FILES_MODIFIED: $RUST_FILES_MODIFIED"
|
|
||||||
|
|
||||||
if [ "${RUST_FILES_MODIFIED}" = "0" ]
|
|
||||||
then
|
|
||||||
echo "__________Skipping Rust tests since no Rust files modified__________";
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
rustup show
|
|
@ -1,19 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -eu
|
|
||||||
|
|
||||||
DATA=$1
|
|
||||||
ADDRESS=$2
|
|
||||||
|
|
||||||
CODE=$(curl -o out.txt -w '%{http_code}' --data $DATA $ADDRESS)
|
|
||||||
cat out.txt && rm out.txt
|
|
||||||
echo "\n"
|
|
||||||
|
|
||||||
if [[ $CODE -eq 200 ]]; then
|
|
||||||
echo 'Pushed to updater service.';
|
|
||||||
elif [[ $CODE -eq 202 ]]; then
|
|
||||||
echo 'Updater service ignored request.';
|
|
||||||
else
|
|
||||||
echo 'Unable to push info to updater service.';
|
|
||||||
exit 2
|
|
||||||
fi
|
|
@ -1 +0,0 @@
|
|||||||
@signtool sign /f %1 /p %2 /tr http://timestamp.comodoca.com /du https://parity.io %3
|
|
@ -1,21 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo "________Running test-cpp.sh________"
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
#use nproc `linux only
|
|
||||||
THREADS=$(nproc)
|
|
||||||
export CC="sccache gcc"
|
|
||||||
export CXX="sccache g++"
|
|
||||||
|
|
||||||
echo "________Running the C++ example________"
|
|
||||||
DIR=parity-clib/examples/cpp/build
|
|
||||||
mkdir -p $DIR
|
|
||||||
cd $DIR
|
|
||||||
cmake ..
|
|
||||||
make VERBOSE=1 -j $THREADS
|
|
||||||
# Note: we don't try to run the example because it tries to sync Kovan, and we don't want
|
|
||||||
# that to happen on CI
|
|
||||||
cd -
|
|
||||||
rm -rf $DIR
|
|
||||||
#show sccache statistics
|
|
||||||
sccache --stop-server
|
|
@ -1,24 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# ARGUMENT $1 Rust flavor to run test with (stable/beta/nightly)
|
|
||||||
|
|
||||||
echo "________Running test-linux.sh________"
|
|
||||||
set -e # fail on any error
|
|
||||||
set -u # treat unset variables as error
|
|
||||||
|
|
||||||
export CC="sccache gcc"
|
|
||||||
export CXX="sccache g++"
|
|
||||||
FEATURES="json-tests"
|
|
||||||
|
|
||||||
OPTIONS="--release"
|
|
||||||
#use nproc `linux only
|
|
||||||
THREADS=$(nproc)
|
|
||||||
|
|
||||||
rustup default $1
|
|
||||||
rustup show
|
|
||||||
|
|
||||||
echo "________Running Parity Full Test Suite________"
|
|
||||||
# Why are we using RUSTFLAGS? See https://github.com/paritytech/parity-ethereum/pull/10719
|
|
||||||
CARGO_INCREMENTAL=0 RUSTFLAGS="-C opt-level=3 -C overflow-checks=on -C debuginfo=2" time cargo test $OPTIONS --features "$FEATURES" --locked --all --target $CARGO_TARGET --verbose --color=never -- --test-threads $THREADS
|
|
||||||
|
|
||||||
#show sccache statistics
|
|
||||||
sccache --stop-server
|
|
Loading…
Reference in New Issue
Block a user