Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI/CD sync #340

Merged
merged 14 commits into from
May 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
name: Komodo CI
name: Komodo Linux CI

on: [push, pull_request]
on:
pull_request:
types: [opened, synchronize, reopened]
schedule:
- cron: '0 0 * * 1'

jobs:

linux-build:
name: Linux Build
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Install deps (Linux)

env:
DEBIAN_FRONTEND: noninteractive
if: runner.os == 'Linux'
run: |
sudo apt-get remove php7.1-fpm php7.2-fpm php7.3-fpm php7.3-common php7.4-fpm msodbcsql17
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get update # prevents repo404 errors on apt-remove below
sudo apt-get remove php5.6-fpm php7.0-fpm php7.1-fpm php7.2-fpm php7.3-fpm php7.3-common php7.4-fpm msodbcsql17
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get upgrade -y
sudo apt-get install -q \
curl \
python3 \
Expand All @@ -30,52 +35,25 @@ jobs:
python3 -m pip install setuptools wheel
python3 -m pip install slick-bitcoinrpc pytest wget jsonschema
./zcutil/fetch-params.sh

- name: Build (Linux)
if: runner.os == 'Linux'
run: |
# flag for some CC tests transactions - so DO NOT USE THIS CI ARTIFACTS IN PRODUCTION!!!
CONFIGURE_FLAGS='CPPFLAGS=-DTESTMODE' ./zcutil/build.sh -j$(nproc)
tar -czvf komodo-linux.tar.gz src/komodod src/komodo-cli

- name: Upload komodo-linux.tar.gz as artifact
uses: actions/upload-artifact@v1
with:
name: komodo-linux
path: ./komodo-linux.tar.gz
# - name: Install deps (macOS)
# if: runner.os == 'macOS'
# run: |
# brew update
# brew upgrade
# brew tap discoteq/discoteq; brew install flock
# brew install autoconf autogen automake
# brew install gcc@8
# brew install binutils
# brew install protobuf
# brew install coreutils
# brew install wget
# brew install python3
# pip3 install setuptools wheel slick-bitcoinrpc pytest wget
# ./zcutil/fetch-params.sh

# - name: Build (macOS)
# if: runner.os == 'macOS'
# run: |
# # flag for some CC tests transactions - so DO NOT USE THIS CI ARTIFACTS IN PRODUCTION!!!
# export CPATH=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/
# CONFIGURE_FLAGS='CPPFLAGS=-DTESTMODE' ./zcutil/build-mac.sh -j4
# - name: Run CC tests
# if: runner.os == 'Linux' || runner.os == 'macOS'


linux-test-dice-token-reards-faucet-cc:

name: Test (Linux/Dice, Token, Faucet, Rewards)
runs-on: ubuntu-latest
needs: linux-build

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Install deps (Dice, Token, Faucet, Rewards CC)
run: |
Expand All @@ -90,7 +68,6 @@ jobs:
libssl-dev -y
python3 -m pip install setuptools wheel
python3 -m pip install slick-bitcoinrpc pytest wget jsonschema

- name: Download komodo-linux.tar.gz
uses: actions/download-artifact@v1
with:
Expand All @@ -104,14 +81,14 @@ jobs:
./zcutil/fetch-params.sh
cd qa/pytest_komodo
./ci_setup.sh "cc_modules/test_dice.py cc_modules/test_faucet.py cc_modules/test_token.py cc_modules/test_rewards.py"

linux-test-oracles:

name: Test (Linux/OraclesCC)
runs-on: ubuntu-latest
needs: linux-build

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Install deps (OraclesCC)
run: |
Expand All @@ -126,7 +103,6 @@ jobs:
libssl-dev -y
python3 -m pip install setuptools wheel
python3 -m pip install slick-bitcoinrpc pytest wget jsonschema

- name: Download komodo-linux.tar.gz
uses: actions/download-artifact@v1
with:
Expand All @@ -140,14 +116,14 @@ jobs:
./zcutil/fetch-params.sh
cd qa/pytest_komodo
./ci_setup.sh cc_modules/test_oracles.py

linux-test-baserpc:

name: Test (Linux/BasicRPC)
runs-on: ubuntu-latest
needs: linux-build

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Install deps (BasicRPC)
run: |
Expand All @@ -162,7 +138,6 @@ jobs:
libssl-dev -y
python3 -m pip install setuptools wheel
python3 -m pip install slick-bitcoinrpc pytest wget jsonschema

- name: Download komodo-linux.tar.gz
uses: actions/download-artifact@v1
with:
Expand All @@ -176,14 +151,14 @@ jobs:
./zcutil/fetch-params.sh
cd qa/pytest_komodo
./ci_setup.sh basic

linux-test-channels:

name: Test (Linux/ChannelsCC)
runs-on: ubuntu-latest
needs: linux-build

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Install deps (ChannelsCC)
run: |
Expand All @@ -198,7 +173,6 @@ jobs:
libssl-dev -y
python3 -m pip install setuptools wheel
python3 -m pip install slick-bitcoinrpc pytest wget jsonschema

- name: Download komodo-linux.tar.gz
uses: actions/download-artifact@v1
with:
Expand All @@ -212,14 +186,14 @@ jobs:
./zcutil/fetch-params.sh
cd qa/pytest_komodo
./ci_setup.sh cc_modules/test_channels.py

linux-test-heir:

name: Test (Linux/HeirCC)
runs-on: ubuntu-latest
needs: linux-build

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v2

- name: Install deps (HeirCC)
run: |
Expand All @@ -234,7 +208,6 @@ jobs:
libssl-dev -y
python3 -m pip install setuptools wheel
python3 -m pip install slick-bitcoinrpc pytest wget jsonschema

- name: Download komodo-linux.tar.gz
uses: actions/download-artifact@v1
with:
Expand All @@ -248,33 +221,3 @@ jobs:
./zcutil/fetch-params.sh
cd qa/pytest_komodo
./ci_setup.sh cc_modules/test_heir.py

windows-build:

name: Win Build
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Build Win on Unix
env:
DEBIAN_FRONTEND: noninteractive
if: runner.os == 'Linux'
run: |
sudo apt-get remove php5.6-fpm php7.0-fpm php7.1-fpm php7.2-fpm php7.3-fpm php7.3-common php7.4-fpm msodbcsql17
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get upgrade -y
sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool libncurses-dev unzip git python zlib1g-dev wget bsdmainutils automake libboost-all-dev libssl-dev libprotobuf-dev protobuf-compiler libqrencode-dev libdb++-dev ntp ntpdate nano software-properties-common curl libevent-dev libcurl4-gnutls-dev cmake clang libsodium-dev -y
sudo apt-get install build-essential pkg-config libc6-dev m4 g++-multilib autoconf libtool ncurses-dev unzip git python python-zmq zlib1g-dev wget libcurl4-gnutls-dev bsdmainutils automake curl cmake mingw-w64 -y
curl https://sh.rustup.rs -sSf | sh -s -- -y
source $HOME/.cargo/env
rustup target add x86_64-pc-windows-gnu
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
CONFIGURE_FLAGS='CPPFLAGS=-DTESTMODE' ./zcutil/build-win.sh -j$(nproc)
zip --junk-paths komodod_win src/komodod.exe
- name: Upload komodod.exe as artifact
uses: actions/upload-artifact@v1
with:
name: komodod_win
path: ./komodod_win.zip
Loading