Skip to content
This repository has been archived by the owner on Mar 20, 2024. It is now read-only.

Improve latest delivered nonce (#586) #231

Improve latest delivered nonce (#586)

Improve latest delivered nonce (#586) #231

Workflow file for this run

name: Staging
on:
push:
branches: [ master ]
workflow_dispatch:
env:
OPENSSL_DIR: /home/runner/openssl
OPENSSL_STATIC: 1
RUST_TOOLCHAIN: nightly
jobs:
build-linux:
name: Build package [linux]
runs-on: ubuntu-latest
container:
image: ubuntu:16.04
strategy:
matrix:
package:
- bridger
# - darwinia-ethereum
# - pangolin-goerli
# - darwinia-crab
# - pangolin-pangoro
- pangoro-goerli
# - pangoro-chapel
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: |
apt update -y
apt install --no-install-recommends -y \
git curl ca-certificates \
make gcc g++ clang-4.0 \
libssl-dev pkg-config zip
- name: Build openssl
run: |
curl https://www.openssl.org/source/openssl-1.1.1l.tar.gz | tar xz
cd openssl-1.1.1l
./config --prefix=${{ env.OPENSSL_DIR }} -static -fPIC
make -j4
make install
- name: Install rust toolchain
uses: actions-rs/toolchain@v1
with:
toolchain: ${{ env.RUST_TOOLCHAIN }}
- name: Build bridger
if: matrix.package == 'bridger'
run: |
cd frame
cargo build --release --target x86_64-unknown-linux-gnu
- name: Collect shared for bridger
if: matrix.package == 'bridger'
run: |
mkdir -p shared
zip -jr \
shared/bridger-linux-x86_64.zip \
frame/target/x86_64-unknown-linux-gnu/release/bridger
- name: Build bridge-${{ matrix.package }}
if: matrix.package != 'bridger'
run: |
cd bridges/${{ matrix.package }}
cargo build --release --target x86_64-unknown-linux-gnu
- name: Collect shared for bridge-${{ matrix.package }}
if: matrix.package != 'bridger'
run: |
mkdir -p shared
zip -jr \
shared/bridge-${{ matrix.package }}-linux-x86_64.zip \
bridges/${{ matrix.package }}/target/x86_64-unknown-linux-gnu/release/bridge-${{ matrix.package }}
- name: Upload shared
uses: actions/upload-artifact@v2
with:
name: bridger-artifact
path: shared
build-docker-image:
name: Build image
runs-on: ubuntu-latest
needs: [ build-linux ]
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v2
with:
name: bridger-artifact
path: shared
- name: Docker login
uses: docker/login-action@v1
with:
username: ${{ secrets.QUAY_IO_BOT_USERNAME }}
password: ${{ secrets.QUAY_IO_BOT_PASSWORD }}
registry: quay.io
- uses: benjlevesque/short-sha@v1.2
- name: Extract linux package
run: |
mkdir -p dist
for z in shared/*-linux-x86_64.zip; do unzip $z -d dist/; done
- name: Build and publish docker image
run: |
IMAGE_NAME=bridger
IMAGE_PREFIX=quay.io/darwinia-network
IMAGE_PUSH_NAME_SHA=${IMAGE_PREFIX}/${IMAGE_NAME}:sha-${SHA}
docker build \
-t ${IMAGE_PUSH_NAME_SHA} \
-f .maintain/docker/Dockerfile \
.
docker push ${IMAGE_PUSH_NAME_SHA}
clean-artifacts:
name: Clean artifacts
runs-on: ubuntu-latest
needs: [ build-docker-image ]
if: always()
steps:
- uses: geekyeggo/delete-artifact@v1
with:
name: bridger-artifact