diff --git a/.github/workflows/fedora-build.yml b/.github/workflows/fedora-build.yml new file mode 100644 index 00000000..a1130a44 --- /dev/null +++ b/.github/workflows/fedora-build.yml @@ -0,0 +1,36 @@ +name: fedora-build + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + name: fedora + runs-on: ubuntu-latest + container: + image: fedora:41 + + steps: + - uses: actions/checkout@v4 + - run: cat /etc/os-release + - name: install dependencies + run: | + dnf -y install alsa-lib-devel ant autoconf automake bc curl gambit-c + dnf -y install gcc gcc-c++ git inkscape ImageMagick-devel + dnf -y install java-17-openjdk-devel libtool libXext-devel make + dnf -y install mesa-libGL-devel mesa-libGLU-devel netpbm-devel patch + dnf -y install perl-FindBin portaudio procps-ng python3-sdkmanager sed + dnf -y install tar tcl-devel texlive tree xorg-x11-server-Xvfb wget zip + - name: prepare lambdanative + run : | + # Make directory to avoid errors during build + mkdir -p /github/home/.cache/lambdanative + cp SETUP.template SETUP + cp PROFILE.template PROFILE + ./configure Calculator linux + - name: smoke tests + run: | + sh make.sh smoke diff --git a/make.sh b/make.sh index 9e6065d8..49208c16 100755 --- a/make.sh +++ b/make.sh @@ -459,7 +459,12 @@ make_artwork() fi fi asserttool $inkscape - veval "$inkscape -z $svgsrc -w 1200 -e $pngtgt" + inkscapemajorversion=`inkscape --version | cut -d' ' -f2 | cut -d'.' -f1` + if [ $inkscapemajorversion -ge 1 ]; then + veval "$inkscape -z $svgsrc -w 1200 -o $pngtgt" + else + veval "$inkscape -z $svgsrc -w 1200 -e $pngtgt" + fi fi else if [ "X$epssrc" = "X" ]; then @@ -1522,11 +1527,11 @@ smoke_one() result=$? if [ ! "X$result" = "X0" ]; then smoke_result $smoker "**FAIL" - echo "ERROR: make failed" + echo "ERROR: make executable failed" return - fi + fi appdir=`ls -1d $SYS_HOSTPREFIX/${SYS_APPNAME}${SYS_APPFIX}` - appexe=`ls -1 $SYS_HOSTPREFIX/${SYS_APPNAME}${SYS_APPFIX}/${SYS_APPNAME}*` + appexe=`ls -1 $SYS_HOSTPREFIX/${SYS_APPNAME}${SYS_APPFIX}/${SYS_APPNAME}` appexelocal="./"`basename $appexe` if [ "X$appexe" = "X" ] || [ ! -x "$appexe" ]; then smoke_result $smoker "**FAIL" @@ -1545,7 +1550,12 @@ smoke_one() ) & here=`pwd` cd "$appdir" - $appexelocal + if [ `havetool xvfb-run` = yes ]; then + runapp=`xvfb-run $appexelocal` + else + runapp=`$appexelocal` + fi + $runapp res=$? cd $here if [ $res = 0 ] || [ $res = 137 ]; then