ci: switch to github actions
This commit is contained in:
@@ -16,6 +16,7 @@ skip_commits:
|
||||
- 'documentation/*'
|
||||
- '**/*.rst'
|
||||
- '**/*.md'
|
||||
- '.github/*'
|
||||
|
||||
#---------------------------------#
|
||||
# build matrix configuration #
|
||||
|
||||
+1
-1
Submodule .ci updated: 4cd9499df5...ad8dd4a136
+15
-6
@@ -44,14 +44,16 @@ print('PATH')
|
||||
[print(" ", K, "=", V) for K, V in env.items()]
|
||||
|
||||
# update to specific libevent version
|
||||
if 'LIBEVENT_TAG' in os.environ:
|
||||
tag = remote = os.environ['LIBEVENT_TAG']
|
||||
if tag.startswith('origin/'):
|
||||
remote = tag[7:]
|
||||
libevent_tag = os.environ.get('LIBEVENT_TAG', '')
|
||||
if len(libevent_tag):
|
||||
if libevent_tag.startswith('origin/'):
|
||||
libevent_tag = libevent_tag[7:]
|
||||
|
||||
check_call('git fetch origin '+remote,
|
||||
check_call('git fetch --unshallow --tags origin',
|
||||
shell=True, cwd='bundle/libevent')
|
||||
check_call('git reset --hard '+tag,
|
||||
check_call('git log -n1 '+libevent_tag+' --',
|
||||
shell=True, cwd='bundle/libevent')
|
||||
check_call('git reset --hard '+libevent_tag+' --',
|
||||
shell=True, cwd='bundle/libevent')
|
||||
|
||||
check_call('make -C bundle libevent', shell=True, env=env)
|
||||
@@ -62,3 +64,10 @@ if os.environ.get('WINE')=='64':
|
||||
F.write('\nCROSS_COMPILER_TARGET_ARCHS+=windows-x64-mingw\n')
|
||||
|
||||
check_call('make -C bundle libevent.windows-x64-mingw', shell=True, env=env)
|
||||
|
||||
elif os.environ.get('WINE')=='32':
|
||||
print('Enable mingw32')
|
||||
with open('configure/CONFIG_SITE.local', 'a') as F:
|
||||
F.write('\nCROSS_COMPILER_TARGET_ARCHS+=win32-x86-mingw\n')
|
||||
|
||||
check_call('make -C bundle libevent.win32-x86-mingw', shell=True, env=env)
|
||||
|
||||
@@ -0,0 +1,134 @@
|
||||
# .github/workflows/ci-scripts-build.yml for use with EPICS Base ci-scripts
|
||||
# (see: https://github.com/epics-base/ci-scripts)
|
||||
|
||||
# This is YAML - indentation levels are crucial
|
||||
|
||||
# Set the 'name:' properties to values that work for you (pvxs)
|
||||
|
||||
name: PVXS
|
||||
|
||||
# Trigger on pushes and PRs to any branch
|
||||
on:
|
||||
push:
|
||||
paths-ignore:
|
||||
- .appveyor.yml
|
||||
pull_request:
|
||||
|
||||
env:
|
||||
SETUP_PATH: .ci-local
|
||||
CMP: gcc
|
||||
_PVXS_ABORT_ON_CRIT: 1
|
||||
PVXS_LOG: pvxs.*=WARN
|
||||
|
||||
jobs:
|
||||
build-pvxs:
|
||||
name: ${{ matrix.os }}/${{ matrix.cmp }}/${{ matrix.configuration }}/${{ matrix.base }}/${{ matrix.wine }}/${{ matrix.libevent }}
|
||||
runs-on: ${{ matrix.os }}
|
||||
# Set environment variables from matrix parameters
|
||||
env:
|
||||
CMP: ${{ matrix.cmp }}
|
||||
BCFG: ${{ matrix.configuration }}
|
||||
BASE: ${{ matrix.base }}
|
||||
WINE: ${{ matrix.wine }}
|
||||
LIBEVENT_TAG: ${{ matrix.libevent }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
wine: "64"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: static
|
||||
base: "7.0"
|
||||
wine: "64"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: clang
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
libevent: "release-2.0.22-stable"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "3.15"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc
|
||||
configuration: default
|
||||
base: "3.14"
|
||||
|
||||
- os: ubuntu-16.04
|
||||
cmp: gcc-4.8
|
||||
utoolchain: true
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
|
||||
- os: ubuntu-16.04
|
||||
cmp: gcc-4.9
|
||||
utoolchain: true
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: gcc-8
|
||||
utoolchain: true
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
|
||||
- os: ubuntu-20.04
|
||||
cmp: clang
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
|
||||
- os: macos-latest
|
||||
cmp: clang
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
|
||||
- os: windows-2019
|
||||
cmp: vs2019
|
||||
configuration: default
|
||||
base: "7.0"
|
||||
|
||||
- os: windows-2019
|
||||
cmp: vs2019
|
||||
configuration: static
|
||||
base: "7.0"
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
- name: "apt-get install"
|
||||
run: sudo apt-get -y install g++-mingw-w64-x86-64 cmake gdb
|
||||
if: runner.os == 'Linux'
|
||||
- name: "apt-get install ${{ matrix.cmp }}"
|
||||
run: |
|
||||
sudo apt-get -y install software-properties-common
|
||||
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
||||
sudo apt-get -y install ${{ matrix.cmp }}
|
||||
if: matrix.utoolchain
|
||||
- name: Prepare and compile dependencies
|
||||
run: python .ci/cue.py prepare
|
||||
- name: Build libevent
|
||||
run: python .ci/cue.py exec python .ci-local/libevent.py
|
||||
- name: Build main module
|
||||
run: python .ci/cue.py build
|
||||
- name: Run main module tests
|
||||
run: python .ci/cue.py --add-path "{TOP}\bundle\usr\{EPICS_HOST_ARCH}\lib" test
|
||||
- name: Collect and show test results
|
||||
run: python .ci/cue.py test-results
|
||||
- name: CDT Check
|
||||
run: ./.ci-local/cdt-check.sh
|
||||
if: runner.os == 'Linux'
|
||||
-203
@@ -1,203 +0,0 @@
|
||||
# .travis.yml for use with EPICS Base ci-scripts
|
||||
# (see: https://github.com/epics-base/ci-scripts)
|
||||
|
||||
# This is YAML - indentation levels are crucial
|
||||
|
||||
language: cpp
|
||||
compiler: gcc
|
||||
dist: bionic
|
||||
os: linux
|
||||
|
||||
_anchors:
|
||||
before_install_win: &before_install_win
|
||||
- choco install python
|
||||
# https://travis-ci.community/t/windows-builds-refreshenv-command-not-found/5803/4
|
||||
- eval $(powershell -NonInteractive -Command 'write("export PATH=`"" + ([Environment]::GetEnvironmentVariable("PATH","Machine") + ";" + [Environment]::GetEnvironmentVariable("PATH","User")).replace("\","/").replace("C:","/c").replace(";",":") + ":`$PATH`"")')
|
||||
- python -V
|
||||
- python -m pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
|
||||
|
||||
before_install_lin: &before_install_lin
|
||||
- sudo python -m pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
|
||||
|
||||
addons: &addons_native
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/.cache
|
||||
|
||||
env:
|
||||
global:
|
||||
- SETUP_PATH=.ci-local:.ci
|
||||
- VV=1
|
||||
- _PVXS_ABORT_ON_CRIT=1
|
||||
- PVXS_LOG=*=WARN
|
||||
|
||||
install:
|
||||
- python .ci/cue.py prepare
|
||||
- python .ci/cue.py exec python .ci-local/libevent.py
|
||||
|
||||
script:
|
||||
- ulimit -c unlimited
|
||||
- python .ci/cue.py build
|
||||
- python .ci/cue.py --add-path "{TOP}\bundle\usr\{EPICS_HOST_ARCH}\lib" test
|
||||
- python .ci/cue.py test-results
|
||||
- ./.ci-local/cdt-check.sh
|
||||
|
||||
# If you need to do more during install and build,
|
||||
# add a local directory to your module and do e.g.
|
||||
# - ./.ci-local/travis/install-extras.sh
|
||||
|
||||
# Define build jobs
|
||||
|
||||
# Well-known variables to use
|
||||
# SET source setup file
|
||||
# EXTRA content will be added to make command line
|
||||
# STATIC set to YES for static build (default: NO)
|
||||
# TEST set to NO to skip running the tests (default: YES)
|
||||
# VV set to make build scripts verbose (default: unset)
|
||||
|
||||
# Usually from setup files, but may be specified or overridden
|
||||
# on a job line
|
||||
# MODULES list of dependency modules
|
||||
# BASE branch or release tag name of the EPICS Base to use
|
||||
# <MODULE> branch or release tag for a specific module
|
||||
# ... see README for setup file syntax description
|
||||
|
||||
jobs:
|
||||
include:
|
||||
|
||||
# Windows builds
|
||||
|
||||
- env: BASE=7.0
|
||||
os: windows
|
||||
compiler: vs2017
|
||||
before_install: *before_install_win
|
||||
|
||||
- env: BASE=7.0
|
||||
os: windows
|
||||
before_install: *before_install_win
|
||||
|
||||
# Different configurations of default gcc and clang
|
||||
|
||||
- env: BASE=7.0 LIBEVENT_TAG=release-2.1.11-stable
|
||||
addons: *addons_native
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=3.15
|
||||
addons: *addons_native
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=3.14
|
||||
addons: *addons_native
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=7.0
|
||||
compiler: clang
|
||||
addons: *addons_native
|
||||
before_install: *before_install_lin
|
||||
|
||||
# Cross-compilations to Windows using MinGW and WINE
|
||||
|
||||
- env: BASE=7.0 WINE=64 TEST=NO BCFG=static
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
- g++-mingw-w64-x86-64
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=7.0 WINE=64 TEST=NO
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
- g++-mingw-w64-x86-64
|
||||
before_install: *before_install_lin
|
||||
|
||||
# Other gcc versions (added as an extra package)
|
||||
|
||||
- env: BASE=7.0 LIBEVENT_TAG=origin/patches-2.0 LIBEVENT_USE_CMAKE=NO
|
||||
dist: trusty
|
||||
compiler: gcc-4.8
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
- clang
|
||||
- g++-4.8
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=7.0 LIBEVENT_USE_CMAKE=NO
|
||||
dist: trusty
|
||||
compiler: gcc-4.9
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
- clang
|
||||
- g++-4.9
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=7.0
|
||||
compiler: gcc-6
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
- clang
|
||||
- g++-6
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=7.0
|
||||
compiler: gcc-7
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
- clang
|
||||
- g++-7
|
||||
before_install: *before_install_lin
|
||||
|
||||
- env: BASE=7.0
|
||||
compiler: gcc-8
|
||||
addons:
|
||||
apt:
|
||||
sources:
|
||||
- ubuntu-toolchain-r-test
|
||||
packages:
|
||||
- gdb
|
||||
- cmake
|
||||
- clang
|
||||
- g++-8
|
||||
before_install: *before_install_lin
|
||||
|
||||
# MacOS build
|
||||
|
||||
- env: BASE=7.0
|
||||
os: osx
|
||||
compiler: clang
|
||||
addons: { homebrew: { packages: ["re2c"], update: true } }
|
||||
before_install: *before_install_lin
|
||||
@@ -7,5 +7,5 @@ Documentation - https://mdavidsaver.github.io/pvxs/
|
||||
|
||||
CI status
|
||||
|
||||
* https://travis-ci.org/mdavidsaver/pvxs
|
||||
* https://github.com/mdavidsaver/pvxs/actions
|
||||
* https://ci.appveyor.com/project/mdavidsaver/pvxs
|
||||
|
||||
+1
-1
@@ -140,7 +140,7 @@ libevent.%: ../libevent/configuration
|
||||
[ -f Makefile ] || ../libevent/configure --prefix=$(abspath $(LIBEVENT_$(T_A))) $(CONFIGUREFLAGS)
|
||||
$(MAKE) install
|
||||
|
||||
../libevent/configuration: ../libevent/configure.ac
|
||||
../libevent/configuration:
|
||||
(cd ../libevent && autoreconf -ivf)
|
||||
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user