diff options
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/ci.yml | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..0ae024c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,118 @@ +# vi: set et ts=2 sw=2 : +name: build + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + linux: + strategy: + matrix: + os: [ ubuntu-18.04, ubuntu-20.04 ] + runs-on: ${{ matrix.os }} + steps: + - name: install dependencies + run: | + sudo apt install \ + automake \ + gcc \ + git \ + libssl-dev \ + libtool \ + make \ + wget + - name: install extra libraries + # This build job tries to verify as much of ipmitool code + # as possible, hence these libraries. They aren't usually + # needed for normal user builds: + run: | + sudo apt update + sudo apt install \ + libsystemd-dev \ + libreadline-dev \ + libfreeipmi-dev \ + libusb-dev + - uses: actions/checkout@v2 + - name: bootstrap + run: ./bootstrap + - name: configure + run: | + # For Linux, build as many extra interfaces as possible + # to verify the code + ./configure --enable-intf-dummy \ + --enable-intf-dbus \ + --enable-intf-usb \ + --enable-intf-free + - name: make + run: make + - name: make check + run: make check + - name: make distcheck + run: make distcheck + + macos-catalina: + strategy: + matrix: + os: [ macos-10.15, macos-11 ] + runs-on: ${{ matrix.os }} + + steps: + - name: install dependencies + run: brew install automake openssl libtool freeipmi wget + - uses: actions/checkout@v2 + - name: bootstrap + run: ./bootstrap + - name: configure + run: | + ./configure --enable-intf-dummy \ + LDFLAGS=-L/usr/local/opt/openssl@1.1/lib \ + CFLAGS=-I/usr/local/opt/openssl@1.1/include + - name: make + run: make + - name: make check + run: make check + - name: make distcheck + run: make distcheck + + win-srv-2019: + + runs-on: windows-2019 + + steps: + - name: install dependencies + run: |- + choco install cygwin -y + choco install cyg-get -y + # Line continuation in PowerShell is backtick. Weird as Windows. + cyg-get gcc-g++ ` + make ` + automake ` + autoconf ` + m4 ` + libtool ` + libncurses-devel ` + libreadline-devel ` + libssl-devel ` + dos2unix ` + wget + echo "C:/tools/cygwin/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + echo "C:/tools/cygwin/usr/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + - uses: actions/checkout@v2 + - name: convert line ends + # checkout action on Windows apparently converts line ends + # so we have to convert them back because cygwin bash can't + # can't handle Windows line ends + run: dos2unix bootstrap configure.ac csv-revision + - name: bootstrap + run: bash -c "./bootstrap" + - name: configure + run: bash -c "./configure" + - name: make + run: make + - name: make check + run: make check + - name: make distcheck + run: make distcheck |