diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 00000000..8f682cee --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,16 @@ +name: Test Docker Hub Images + +on: + schedule: + # Run once a week at midnight on Sunday morning + - cron '0 0 * * 0' + +jobs: + centos7-17.5.0: + runs-on: ubuntu-18.04 + container: docker://nasatrick/trick_centos7:17.5.0 + steps: + - name: run tests + run: | + cd /trick-17.5.0 + make test diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..2a69557f --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,191 @@ +name: Trick CI + +on: [push] + +jobs: + ubuntu-1604: + runs-on: ubuntu-18.04 + container: docker://ubuntu:16.04 + steps: + - name: Checkout repository + uses: actions/checkout@master + + - name: update apt + run: apt-get update + + - name: Install dependencies + run: > + apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev + libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig + zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev + libgtest-dev cmake + + - name: Build gtest + run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/ + + - name: Build Trick + run: | + export MAKEFLAGS=-j4 + ./configure + make + - name: Run tests + run: make test + + ubuntu-1804: + runs-on: ubuntu-18.04 + container: docker://ubuntu:18.04 + steps: + - name: Checkout repository + uses: actions/checkout@master + + - name: update apt + run: apt-get update + + - name: Install dependencies + run: > + apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev + libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig + zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev + libgtest-dev cmake + + - name: Build gtest + run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/ + + - name: Build Trick + run: | + export MAKEFLAGS=-j4 + ./configure + make + - name: Run tests + run: make test + + ubuntu-1904: + runs-on: ubuntu-18.04 + container: docker://ubuntu:19.04 + steps: + - name: Checkout repository + uses: actions/checkout@master + + - name: update apt + run: apt-get update + + - name: Install dependencies + run: > + apt-get install -y git bison curl flex g++ libx11-dev libxml2-dev libxt-dev + libmotif-common libmotif-dev make openjdk-8-jdk python2.7-dev swig + zlib1g-dev llvm llvm-dev clang libclang-dev libudunits2-dev + libgtest-dev cmake + + - name: Build gtest + run: cd /usr/src/gtest && cmake . && make && cp libgtest* /usr/lib/ + + - name: Build Trick + run: | + export MAKEFLAGS=-j4 + ./configure + make + - name: Run tests + run: make test + + macOS: + runs-on: macOS-latest + steps: + - name: Checkout repository + uses: actions/checkout@master + + - name: Install gtest + run: | + wget https://github.com/google/googletest/archive/release-1.8.0.tar.gz + tar xzvf release-1.8.0.tar.gz + cd googletest-release-1.8.0/googletest + cmake . + make + make install + + - name: Install dependencies + run: | + # sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.15.pkg -target / + brew cask install xquartz + brew install llvm swig udunits openmotif + - name: Build Trick + run: | + export MAKEFLAGS=-j4 + ./configure + make + + - name: Run tests + run: | + export MAKEFLAGS=-j4 + make test + + centos-7: + runs-on: ubuntu-18.04 + container: docker://centos:7 + steps: + - name: Checkout repository + uses: actions/checkout@master + + - name: Install the epel repository and update yum + run: yum -y install epel-release && yum -y update + + - name: Install dependencies + run: > + yum install -y git bison flex gcc gcc-c++ make which clang clang-devel + llvm llvm-devel llvm-static libxml2-devel libX11-devel libXt-devel + ncurses-devel openmotif openmotif-devel perl perl-Digest-MD5 + python-devel swig zlib-devel udunits2 udunits2-devel + java-1.8.0-openjdk-devel gtest-devel + + - name: Build Trick + run: | + export MAKEFLAGS=-j4 + ./configure + make + + - name: Run tests + run: make test + + fedora-30: + runs-on: ubuntu-18.04 + container: docker://fedora:30 + steps: + - name: Checkout repository + uses: actions/checkout@master + + - name: Install dependencies + run: > + dnf install -y git bison flex gcc gcc-c++ libxml2-devel make openmotif + openmotif-devel python-devel perl swig zlib-devel llvm llvm-devel llvm-static + clang clang-devel perl-Text-Balanced perl-Digest-MD5 udunits2 udunits2-devel + java-1.8.0-openjdk-devel ncurses-devel which + + - name: Install gtest + run: dnf install -y gtest-devel + + - name: Build Trick + run: | + export MAKEFLAGS=-j4 + ./configure + make + + - name: Run tests + run: make test + + dockerhub-centos7: + runs-on: ubuntu-18.04 + container: docker://nasatrick/trick_centos7:17.5.0 + steps: + - name: run tests + run: | + cd /trick-17.5.0 + make test + + dockerhub-ubuntu1804: + runs-on: ubuntu-18.04 + container: docker://nasatrick/trick_ubuntu1804:17.5.0 + steps: + - name: run tests + run: | + cd /trick-17.5.0 + make test +