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/"