mirror of
https://github.com/ipmitool/ipmitool.git
synced 2025-05-11 02:57:22 +00:00
set-env and add-path have been removed since GitHub Actions v2.274.2. [1] Switch to Environment Files instead. [2] [1] https://github.blog/changelog/2020-11-09-github-actions-removing-set-env-and-add-path-commands-on-november-16/ [2] https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#environment-files
123 lines
3.4 KiB
YAML
123 lines
3.4 KiB
YAML
# vi: set et ts=2 sw=2 :
|
|
name: C/C++ CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ master ]
|
|
pull_request:
|
|
branches: [ master ]
|
|
|
|
jobs:
|
|
ubuntu:
|
|
strategy:
|
|
matrix:
|
|
os: [ ubuntu-16.04, ubuntu-18.04 ]
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: install dependencies
|
|
run: |
|
|
sudo apt install \
|
|
automake \
|
|
gcc \
|
|
git \
|
|
libssl-dev \
|
|
libtool \
|
|
make \
|
|
wget
|
|
# TODO: Add ubuntu-20.04 to the matrix.os list and fix the build
|
|
# - name: install extra dependencies
|
|
# # In Ubuntu 20.04 some crucial development headers/libraries
|
|
# # have been moved from libc6-dev to musl-dev
|
|
# if: matrix.os == 'ubuntu-20.04'
|
|
# run: sudo apt install musl-dev
|
|
- 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 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-bmc \
|
|
--enable-intf-free
|
|
- name: make
|
|
run: make
|
|
- name: make check
|
|
run: make check
|
|
- name: make distcheck
|
|
run: make distcheck
|
|
|
|
macos-catalina:
|
|
|
|
runs-on: macos-10.15
|
|
|
|
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
|