80 lines
2.3 KiB
YAML
80 lines
2.3 KiB
YAML
name: Upload nyxd to CI
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
publish-nyxd:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
platform: [ubuntu-20.04]
|
|
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
|
|
- name: Prepare build output directory
|
|
shell: bash
|
|
env:
|
|
OUTPUT_DIR: ci-builds/nyxd
|
|
run: |
|
|
rm -rf ci-builds || true
|
|
mkdir -p $OUTPUT_DIR
|
|
echo $OUTPUT_DIR
|
|
|
|
- name: Install Dependencies (Linux)
|
|
run: sudo apt-get update && sudo apt-get -y install build-essential curl wget libssl-dev libgtk-3-dev libudev-dev squashfs-tools git
|
|
continue-on-error: true
|
|
|
|
- name: Update env variables to include go
|
|
run: |
|
|
sudo rm -rf /usr/local/go
|
|
curl https://dl.google.com/go/go1.19.2.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
|
|
cat <<'EOF' >>$HOME/.profile
|
|
export GOROOT=/usr/local/go
|
|
export GOPATH=$HOME/go
|
|
export GO111MODULE=on
|
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
|
|
EOF
|
|
source $HOME/.profile
|
|
|
|
- name: Verify Go is installed
|
|
run: go version
|
|
|
|
- name: Clone nyxd repo
|
|
run: |
|
|
git clone https://github.com/tommyv1987/nyxd
|
|
cd nyxd
|
|
git checkout release/v0.30.2
|
|
|
|
- name: Run nyxd
|
|
run: |
|
|
pwd
|
|
cd nyxd && make build
|
|
sleep 10
|
|
ls /home/runner/work/nym/nym/nyxd/build
|
|
|
|
- name: Prepare build output
|
|
shell: bash
|
|
env:
|
|
OUTPUT_DIR: ci-builds/nyxd
|
|
run: |
|
|
cp /home/runner/work/nym/nym/nyxd/build/nyxd $OUTPUT_DIR
|
|
WASMVM_SO=$(ldd /home/runner/work/nym/nym/nyxd/build/nyxd | grep "libwasm*" | awk '{ print $3 }')
|
|
ls $WASMVM_SO
|
|
sleep 3
|
|
cp $(echo $WASMVM_SO) $OUTPUT_DIR
|
|
|
|
- name: Deploy nyxd 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/"
|