Skip to content

udb: adapter updates, better eval, support setVariable and watchpoints #490

udb: adapter updates, better eval, support setVariable and watchpoints

udb: adapter updates, better eval, support setVariable and watchpoints #490

Workflow file for this run

name: Build
# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events for the specified branches.
push:
branches:
- ci
paths-ignore:
- 'docs/**'
pull_request:
branches:
- master
- ci
paths-ignore:
- 'docs/**'
# Allow running this workflow manually from the Actions tab.
workflow_dispatch:
jobs:
Windows:
runs-on: ${{ matrix.cfg.os }}
name: ${{ matrix.cfg.name }}
strategy:
matrix:
cfg:
- { os: windows-latest, name: 'Windows 64-bit', pkg: 'Windows_64-bit', opt: '--enable-werror' }
#- { os: windows-latest, name: 'Windows 32-bit', opt: '--build=i686-w64-mingw32 --host=i686-w64-mingw32' }
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
update: true
install: >-
mingw-w64-ucrt-x86_64-gcc
mingw-w64-ucrt-x86_64-diffutils
mingw-w64-ucrt-x86_64-openssl
mingw-w64-ucrt-x86_64-libpng
mingw-w64-ucrt-x86_64-libjpeg-turbo
make
git
- run: git config --global core.autocrlf input
shell: bash
- name: Checkout
uses: actions/checkout@v4
- name: Configure
run: sh configure ${{ matrix.cfg.opt }}
- name: Make
run: make
- name: HtmlDoc
run: make htmldoc
- name: Test
run: make Test
- name: TestReport
run: make -C tests Report
- name: Summary
run: |
cat unicon-config.log
cat unicon-features.log
macOS:
runs-on: ${{ matrix.cfg.os }}
name: ${{ matrix.cfg.name }}
strategy:
matrix:
cfg:
- { os: macos-13, name: 'macOS', opt: '--enable-werror CC=clang CXX=clang++' }
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Configure
run: sh configure ${{ matrix.cfg.opt }}
- name: Make
run: make
- name: HtmlDoc
run: make htmldoc
- name: Test
run: make Test
- name: TestReport
run: make -C tests Report
- name: Summary
run: |
cat unicon-config.log
cat unicon-features.log
Linux:
runs-on: ubuntu-latest
name: ${{ matrix.cfg.name }}
container: ${{ matrix.cfg.os }}
strategy:
matrix:
cfg:
- { os: 'ubuntu:20.04', name: 'Ubuntu 20.04', opt: '--enable-werror' }
- { os: 'ubuntu:22.04', name: 'Ubuntu 22.04', opt: '--enable-werror' }
- { os: 'centos:7', name: 'CentOS 7', opt: '--enable-werror' }
- { os: 'fedora:latest', name: 'Fedora Latest', opt: '--enable-werror' }
- { os: 'debian:10', name: 'Debian 10', opt: '--enable-werror' }
- { os: 'debian:11', name: 'Debian 11', opt: '--enable-werror' }
- { os: 'debian:12', name: 'Debian 12', opt: '--enable-werror' }
- { os: 'oraclelinux:8', name: 'Oracle Linux 8', opt: '--enable-werror' }
- { os: 'alpine:latest', name: 'Alpine Latest', opt: '' }
steps:
- name: Install dependencies
run: |
case "${{ matrix.cfg.os }}" in
ubuntu*|debian*)
apt-get update -q -y
DEBIAN_FRONTEND="noninteractive" apt-get install -q -y build-essential make autotools-dev libc6 libgcc1 libgl1-mesa-glx
DEBIAN_FRONTEND="noninteractive" apt-get install -q -y libssl-dev libx11-dev libjpeg-dev libpng-dev libglu1-mesa-dev libxft-dev
DEBIAN_FRONTEND="noninteractive" apt-get install -q -y libopenal-dev libalut-dev libogg-dev libvorbis-dev unixodbc-dev libfreetype6-dev
;;
oracle*)
dnf -y update
dnf -y install git gcc make diffutils libjpeg-turbo-devel libpng-devel libX11-devel mesa-libGL-devel mesa-libGLU-devel
dnf -y install openssl-devel unixODBC-devel freetype-devel libXft-devel
;;
fedora*)
dnf -y update
dnf -y install gcc make diffutils libjpeg-turbo-devel libpng-devel libX11-devel mesa-libGL-devel mesa-libGLU-devel
dnf -y install openal-devel freealut-devel libogg-devel libvorbis-devel openssl-devel unixODBC-devel freetype-devel libXft-devel
;;
centos*)
yum update -y
yum install -y gcc make libjpeg-turbo-devel libpng-devel libX11-devel mesa-libGL-devel mesa-libGLU-devel libXft-devel
yum install -y openal-devel freealut-devel libogg-devel libvorbis-devel openssl-devel unixODBC-devel freetype-devel
;;
alpine*)
apk update
apk add build-base diffutils
;;
esac
- name: Checkout
uses: actions/checkout@v3
- name: Configure
run: ./configure ${{ matrix.cfg.opt }}
- name: Make
run: make
- name: HtmlDoc
run: make htmldoc
- name: Test
run: make Test
- name: TestReport
run: make -C tests Report
- name: Summary
run: |
cat unicon-config.log
cat unicon-features.log
Alpine:
runs-on: ubuntu-latest
strategy:
matrix:
platform:
- { arch: aarch64 }
- { arch: armv7 }
- { arch: x86 }
steps:
- name: alpine
uses: jirutka/setup-alpine@v1
with:
arch: ${{ matrix.platform.arch }}
branch: v3.19
packages: >
build-base
diffutils
- name: Checkout
uses: actions/checkout@v3
- name: Configure
run: ./configure --disable-iconc
shell: alpine.sh {0}
- name: Make
run: make
shell: alpine.sh {0}
- name: Test
run: make Test
shell: alpine.sh {0}
- name: TestReport
run: make -C tests Report
shell: alpine.sh {0}
- name: Summary
run: |
cat unicon-config.log
cat unicon-features.log
shell: alpine.sh {0}
Features:
runs-on: ${{ matrix.cfg.os }}
name: ${{ matrix.cfg.name }}
strategy:
matrix:
cfg:
#- { os: ubuntu-latest, name: 'Ubuntu 32-bit', opt: '--host=i686-pc-linux-gnu' }
- { os: ubuntu-latest, name: 'Clang', opt: 'CC=clang CXX=clang++ --enable-werror' }
- { os: ubuntu-latest, name: 'No Graphics', opt: '--disable-graphics --enable-werror' }
- { os: ubuntu-latest, name: 'No 3D Graphics', opt: '--disable-graphics3d --enable-werror' }
- { os: ubuntu-latest, name: 'No Concurrency', opt: '--disable-concurrency --enable-werror' }
- { os: ubuntu-latest, name: 'Heap Test', opt: '--enable-debugheap --enable-verifyheap --enable-werror' }
- { os: ubuntu-latest, name: 'Thin Build', opt: '--enable-thin --enable-werror' }
- { os: ubuntu-latest, name: 'Dev Mode', opt: '--enable-devmode' }
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update -q -y
if [[ "${{ matrix.cfg.name }}" = "Ubuntu 32-bit" ]]
then
# Install tools to cross compile 32-bit
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -q -y gcc-multilib g++-multilib
sudo apt install libssl-dev:i386
fi
# Easy way to install all dependencies
sudo apt-get install -q -y devscripts equivs
sudo mk-build-deps --install debian/control
- name: Configure
run: ./configure ${{ matrix.cfg.opt }}
- name: Make
run: make
# set VRFY globally even though it is only needed in the debug test
env:
VRFY: -2
- name: HtmlDoc
run: make htmldoc
- name: Test
run: make Test
# set VRFY globally even though it is only needed in the debug test
env:
VRFY: -2
- name: TestReport
run: make -C tests Report
- name: Summary
run: |
cat unicon-config.log
cat unicon-features.log
DebianPkg:
runs-on: ${{ matrix.cfg.os }}
name: ${{ matrix.cfg.name }}
strategy:
matrix:
cfg:
- { os: ubuntu-22.04, name: 'Debian-Pkg', opt: '' }
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update -q -y
sudo apt-get install -q -y build-essential fakeroot devscripts equivs dh-autoreconf
sudo mk-build-deps --install debian/control
- name: Configure
run: ./configure ${{ matrix.cfg.opt }}
- name: Deb
run: |
make debin
mkdir debian-pkg
cp ../unicondist/unicon_*.deb debian-pkg/
cp ../unicondist/unicon_*.changes debian-pkg/
cp ../unicondist/unicon_*.dsc debian-pkg/
cp ../unicondist/unicon_*.debian.tar.xz debian-pkg/
cp ../unicondist/unicon_*.orig.tar.gz debian-pkg/
- name: Install
run: sudo apt install ./debian-pkg/*.deb
- name: Test
run: make Test
env:
UC: unicon