82 lines
2.3 KiB
YAML
82 lines
2.3 KiB
YAML
name: ci-build-upload-binaries
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
pull_request:
|
|
paths:
|
|
- 'clients/**'
|
|
- 'common/**'
|
|
- 'explorer-api/**'
|
|
- 'gateway/**'
|
|
- 'integrations/**'
|
|
- 'mixnode/**'
|
|
- 'sdk/rust/nym-sdk/**'
|
|
- 'service-providers/**'
|
|
- 'nym-api/**'
|
|
- 'nym-outfox/**'
|
|
- 'tools/nym-cli/**'
|
|
- 'tools/ts-rs-cli/**'
|
|
|
|
jobs:
|
|
publish-nym:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [ubuntu-20.04]
|
|
|
|
runs-on: ${{ matrix.platform }}
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Prepare build output directory
|
|
shell: bash
|
|
env:
|
|
OUTPUT_DIR: ci-builds/${{ github.ref_name }}
|
|
run: |
|
|
rm -rf ci-builds || true
|
|
mkdir -p $OUTPUT_DIR
|
|
echo $OUTPUT_DIR
|
|
|
|
- name: Install Dependencies (Linux)
|
|
run: sudo apt update && sudo apt install libudev-dev
|
|
|
|
- name: Install Rust stable
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
|
|
- name: Build all binaries
|
|
uses: actions-rs/cargo@v1
|
|
with:
|
|
command: build
|
|
args: --workspace --release
|
|
|
|
- name: Prepare build output
|
|
shell: bash
|
|
env:
|
|
OUTPUT_DIR: ci-builds/${{ github.ref_name }}
|
|
run: |
|
|
cp target/release/nym-client $OUTPUT_DIR
|
|
cp target/release/nym-gateway $OUTPUT_DIR
|
|
cp target/release/nym-mixnode $OUTPUT_DIR
|
|
cp target/release/nym-socks5-client $OUTPUT_DIR
|
|
cp target/release/nym-api $OUTPUT_DIR
|
|
cp target/release/nym-network-requester $OUTPUT_DIR
|
|
cp target/release/nym-network-statistics $OUTPUT_DIR
|
|
cp target/release/nym-cli $OUTPUT_DIR
|
|
cp target/release/explorer-api $OUTPUT_DIR
|
|
|
|
- name: Deploy branch to CI www
|
|
continue-on-error: true
|
|
uses: easingthemes/ssh-deploy@main
|
|
env:
|
|
SSH_PRIVATE_KEY: ${{ secrets.CI_WWW_SSH_PRIVATE_KEY }}
|
|
ARGS: "-avzr"
|
|
SOURCE: "ci-builds/"
|
|
REMOTE_HOST: ${{ secrets.CI_WWW_REMOTE_HOST }}
|
|
REMOTE_USER: ${{ secrets.CI_WWW_REMOTE_USER }}
|
|
TARGET: ${{ secrets.CI_WWW_REMOTE_TARGET }}/builds/
|
|
EXCLUDE: "/dist/, /node_modules/"
|