on: push: branches: master env: CARGO_TERM_COLOR: always jobs: build_x64: runs_on: docker steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup Go toolchain uses: actions/setup-go@v4 with: go-version: '1.20' - name: Setup Rust toolchain uses: https://github.com/actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Install additional dependencies run: apt update && apt-get install -y libclang-dev clang sshpass rsync - name: Compile release binary uses: https://github.com/actions-rs/cargo@v1 with: command: build args: --release --bin tfclient - name: Upload binary run: sshpass -p "${{ secrets.TRIFID_DLCDN_PASSWORD }}" rsync --mkpath -e 'ssh -p ${{ secrets.TRIFID_DLCDN_PORT }} -o StrictHostKeyChecking=no' target/release/tfclient ${{ secrets.TRIFID_DLCDN_USER }}@${{ secrets.TRIFID_DLCDN_IP }}:${{ secrets.TRIFID_DLCDN_PATH }}/tfclient/amd64/$GITHUB_SHA/tfclient build_arm64: runs_on: docker-arm64 steps: - name: Checkout code uses: actions/checkout@v2 - name: Setup Go toolchain uses: actions/setup-go@v4 with: go-version: '1.20' - name: Setup Rust toolchain uses: https://github.com/actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Install additional dependencies run: apt update && apt-get install -y libclang-dev clang sshpass rsync - name: Compile release binary uses: https://github.com/actions-rs/cargo@v1 with: command: build args: --release --bin tfclient - name: Upload binary run: sshpass -p "${{ secrets.TRIFID_DLCDN_PASSWORD }}" rsync --mkpath -e 'ssh -p ${{ secrets.TRIFID_DLCDN_PORT }} -o StrictHostKeyChecking=no' target/release/tfclient ${{ secrets.TRIFID_DLCDN_USER }}@${{ secrets.TRIFID_DLCDN_IP }}:${{ secrets.TRIFID_DLCDN_PATH }}/tfclient/arm64/$GITHUB_SHA/tfclient