Skip to content

Fix CI issues #96

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Dec 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 31 additions & 24 deletions .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,6 @@
cache:
- C:\Users\appveyor\.tools

#---------------------------------#
# additional packages #
#---------------------------------#

install:
# for the sequencer
- cinst re2c
- cmd: git submodule update --init --recursive

#---------------------------------#
# repository cloning #
#---------------------------------#
Expand Down Expand Up @@ -40,39 +31,55 @@ configuration:
environment:
# common / default variables for all jobs
SETUP_PATH: .ci-local
BASE: 7.0

matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
CMP: vs2019
BASE: 7.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
CMP: gcc
BASE: 7.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
CMP: vs2017
BASE: 7.0
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
CMP: vs2019
BASE: 3.15
- CMP: vs2019
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- CMP: vs2017
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
- CMP: vs2015
- CMP: vs2013
- CMP: gcc
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
# TODO: static linking w/ readline isn't working. Bypass auto-detect
COMMANDLINE_LIBRARY: EPICS

# Platform: processor architecture
platform:
- x64

# Matrix configuration: exclude sets of jobs
matrix:
exclude:
# MinGW debug builds use the same libraries, unlike VS
- configuration: dynamic-debug
CMP: gcc
- configuration: static-debug
CMP: gcc

#---------------------------------#
# building & testing #
#---------------------------------#

build_script:
install:
- cmd: git submodule update --init --recursive
- cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
- cmd: python .ci/cue.py prepare

build_script:
- cmd: python .ci/cue.py build

test_script:
- cmd: python .ci/cue.py test
- cmd: python -m ci_core_dumper install
- cmd: python .ci/cue.py -T 20M test

on_finish:
- ps: Get-ChildItem *.tap -Recurse -Force | % { Push-AppveyorArtifact $_.FullName -FileName $_.Name }
- cmd: python .ci/cue.py build test-results -s
- cmd: python .ci/cue.py -T 5M test-results

on_failure:
- cmd: python -m ci_core_dumper report

#---------------------------------#
# debugging #
Expand Down
172 changes: 91 additions & 81 deletions .github/workflows/ci-scripts-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,143 +39,164 @@ jobs:
runs-on: ${{ matrix.os }}
# Set environment variables from matrix parameters
env:
BASE: "7.0"
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
WINE: ${{ matrix.wine }}
RTEMS: ${{ matrix.rtems }}
RTEMS_TARGET: ${{ matrix.rtems_target }}
CI_CROSS_TARGETS: ${{ matrix.cross }}
EXTRA: ${{ matrix.extra }}
TEST: ${{ matrix.test }}
strategy:
fail-fast: false
matrix:
# Job names also name artifacts, character limitations apply
include:
- os: ubuntu-latest
- os: ubuntu-22.04
cmp: gcc-12
name: "Ub-22 gcc-12 c++20 Werror"
# Turn all warnings into errors,
# except for those we could not fix (yet).
# Remove respective -Wno-error=... flag once it is fixed.
extra: "CMD_CXXFLAGS=-std=c++20
CMD_CPPFLAGS='-fdiagnostics-color
-fstack-protector-strong
-Wformat
-Werror
-Werror=format-security
-Wno-error=deprecated-declarations
-Wno-error=stringop-truncation
-Wno-error=restrict
-Wno-error=sizeof-pointer-memaccess
-Wno-error=nonnull
-Wno-error=dangling-pointer
-Wno-error=format-overflow
-Wno-error=stringop-overread
-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3'
CMD_LDFLAGS=-Wl,-z,relro"

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
wine: "64"
name: "Ub-20 gcc-9 + MinGW"
cross: "windows-x64-mingw"
name: "Ub-20 gcc + MinGW"

- os: ubuntu-latest
- os: ubuntu-20.04
cmp: gcc
configuration: static
base: "7.0"
wine: "64"
name: "Ub-20 gcc-9 + MinGW, static"
cross: "windows-x64-mingw"
name: "Ub-20 gcc + MinGW, static"

- os: ubuntu-latest
- os: ubuntu-20.04
cmp: gcc
configuration: static
base: "7.0"
extra: "CMD_CXXFLAGS=-std=c++11"
name: "Ub-20 gcc-9 C++11, static"
name: "Ub-20 gcc C++11, static"

- os: ubuntu-latest
- os: ubuntu-20.04
cmp: gcc
configuration: static
extra: "CMD_CFLAGS=-funsigned-char CMD_CXXFLAGS=-funsigned-char"
name: "Ub-20 gcc unsigned char"

- os: ubuntu-20.04
cmp: clang
configuration: default
base: "7.0"
name: "Ub-20 clang-10"
name: "Ub-20 clang"

- os: ubuntu-latest
- os: ubuntu-20.04
cmp: clang
configuration: default
base: "7.0"
extra: "CMD_CXXFLAGS=-std=c++11"
name: "Ub-20 clang-10 C++11"
name: "Ub-20 clang C++11"

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
rtems: "5"
rtems_target: RTEMS-pc686-qemu
name: "Ub-20 gcc-9 + RT-5.1 pc686"
cross: "RTEMS-pc686-qemu@5"
name: "Ub-20 gcc + RT-5.1 pc686"

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
rtems: "5"
rtems_target: RTEMS-beatnik
cross: "RTEMS-beatnik@5"
test: NO
name: "Ub-20 gcc-9 + RT-5.1 beatnik"
name: "Ub-20 gcc + RT-5.1 beatnik"

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
rtems: "5"
rtems_target: RTEMS-xilinx_zynq_a9_qemu
cross: "RTEMS-xilinx_zynq_a9_qemu@5"
test: NO
name: "Ub-20 gcc-9 + RT-5.1 xilinx_zynq_a9_qemu"
name: "Ub-20 gcc + RT-5.1 xilinx_zynq_a9_qemu"

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
rtems: "5"
rtems_target: RTEMS-uC5282
cross: "RTEMS-uC5282@5"
test: NO
name: "Ub-20 gcc-9 + RT-5.1 uC5282"
name: "Ub-20 gcc + RT-5.1 uC5282"

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
rtems: "4.10"
name: "Ub-20 gcc-9 + RT-4.10"
rtems_target: RTEMS-pc386-qemu
name: "Ub-20 gcc + RT-4.10"
cross: "[email protected]"
test: NO

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "7.0"
rtems: "4.9"
name: "Ub-20 gcc-9 + RT-4.9"
rtems_target: RTEMS-pc386-qemu

- os: ubuntu-20.04
cmp: gcc
configuration: default
base: "3.15"
name: "Ub-20 3.15"
name: "Ub-20 gcc + RT-4.9"
cross: "[email protected]"

- os: macos-latest
cmp: clang
configuration: default
base: "7.0"
name: "MacOS clang-12"
name: "MacOS clang"

- os: windows-2019
cmp: vs2019
configuration: default
base: "7.0"
configuration: debug
name: "Win2019 MSC-19"
extra: "CMD_CXXFLAGS=-analysis"

- os: windows-2019
cmp: vs2019
configuration: static
base: "7.0"
configuration: static-debug
name: "Win2019 MSC-19, static"
extra: "CMD_CXXFLAGS=-analysis"

- os: windows-2019
cmp: vs2019
configuration: debug
base: "7.0"
name: "Win2019 MSC-19, debug"

- os: windows-2019
cmp: gcc
configuration: default
base: "7.0"
name: "Win2019 mingw"

# Linux cross builds

- os: ubuntu-latest
cmp: gcc
configuration: default
name: "Cross linux-aarch64"
cross: linux-aarch64

- os: ubuntu-latest
cmp: gcc
configuration: default
name: "Cross linux-arm gnueabi"
cross: linux-arm@arm-linux-gnueabi

- os: ubuntu-latest
cmp: gcc
configuration: default
name: "Cross linux-arm gnueabihf"
cross: linux-arm@arm-linux-gnueabihf

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Automatic core dumper analysis
Expand Down Expand Up @@ -209,45 +230,30 @@ jobs:
image: ${{ matrix.image }}
# Set environment variables from matrix parameters
env:
BASE: "7.0"
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
EXTRA: ${{ matrix.extra }}
TEST: ${{ matrix.test }}
strategy:
fail-fast: false
matrix:
# Job names also name artifacts, character limitations apply
include:
- name: "CentOS-7 3.16"
image: centos:7
cmp: gcc
configuration: default
base: "3.16"

- name: "CentOS-7 3.15"
image: centos:7
cmp: gcc
configuration: default
base: "3.15"

- name: "CentOS-7"
image: centos:7
cmp: gcc
configuration: default
base: "7.0"
#- name: "CentOS-7"
# image: centos:7
# cmp: gcc
# configuration: default

- name: "Fedora-33"
image: fedora:33
cmp: gcc
configuration: default
base: "7.0"

- name: "Fedora-latest"
image: fedora:latest
cmp: gcc
configuration: default
base: "7.0"

steps:
- name: "Build newer Git"
Expand Down Expand Up @@ -276,11 +282,15 @@ jobs:
# people would rather just break all existing scripts...
[ -e /usr/bin/python ] || ln -sf python3 /usr/bin/python
python --version
- uses: actions/checkout@v3
- uses: actions/checkout@v4
with:
submodules: true
- name: Automatic core dumper analysis
uses: mdavidsaver/ci-core-dumper@master
if: matrix.image!='centos:7'
- name: Automatic core dumper analysis
uses: mdavidsaver/ci-core-dumper@node16
if: matrix.image=='centos:7'
- name: Prepare and compile dependencies
run: python .ci/cue.py prepare
- name: Build main module
Expand Down
Loading