Skip to content

Commit

Permalink
Merge pull request #340 from KomodoPlatform/research_ci_cd
Browse files Browse the repository at this point in the history
CI/CD sync
  • Loading branch information
ca333 authored May 7, 2020
2 parents 9e9c540 + 4aa9756 commit f73e51e
Show file tree
Hide file tree
Showing 30 changed files with 2,444 additions and 958 deletions.
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

0 comments on commit f73e51e

Please sign in to comment.