Skip to content

TESTING: Initial ci workflow#467

Open
bkmgit wants to merge 17 commits into
part-cw:masterfrom
bkmgit:ci
Open

TESTING: Initial ci workflow#467
bkmgit wants to merge 17 commits into
part-cw:masterfrom
bkmgit:ci

Conversation

@bkmgit
Copy link
Copy Markdown
Contributor

@bkmgit bkmgit commented Jun 30, 2025

May close #460 when complete.

@bkmgit
Copy link
Copy Markdown
Contributor Author

bkmgit commented Jun 30, 2025

Will need to enable GitHub Actions in the settings https://github.com/part-cw/lambdanative/actions

@bkmgit bkmgit force-pushed the ci branch 8 times, most recently from a9b92a2 to feaa0dc Compare June 30, 2025 08:30
@bkmgit
Copy link
Copy Markdown
Contributor Author

bkmgit commented Jun 30, 2025

Can build Calculator directly, but when using sh make.sh smoke get a reported failure.

DemoAndroidLNjScheme does not build

gcc  -DLINUX -fcommon  -c *.c -I/github/home/.cache/lambdanative/linux/arm64-api28/include
unicode.c: In function 'utf8_wctomb':
unicode.c:221:14: error: implicit declaration of function 'htonl' [-Wimplicit-function-declaration]
  221 |         ch = htonl(in);
      |              ^~~~~
ERROR: failed with exit code 1

Logs https://github.com/part-cw/lambdanative/actions/runs/15967897408/job/45032210934

Maybe it is better to build the apps one at a time or modify make.sh?

@bkmgit bkmgit mentioned this pull request Aug 9, 2025
@bkmgit
Copy link
Copy Markdown
Contributor Author

bkmgit commented Aug 9, 2025

Example calculator build https://github.com/bkmgit/LambdaNativeQuickStart

@mgorges
Copy link
Copy Markdown
Contributor

mgorges commented Feb 16, 2026

DemoAndroidLNjScheme does not build

gcc  -DLINUX -fcommon  -c *.c -I/github/home/.cache/lambdanative/linux/arm64-api28/include
unicode.c: In function 'utf8_wctomb':
unicode.c:221:14: error: implicit declaration of function 'htonl' [-Wimplicit-function-declaration]
  221 |         ch = htonl(in);
      |              ^~~~~
ERROR: failed with exit code 1

This seems to be a case of a function used before it is declared, though it doesn't seem that libraries/libiconv/unicode.c#L197 is the culprit, though try adding "#include <arpa/inet.h>" to it.

@bkmgit
Copy link
Copy Markdown
Contributor Author

bkmgit commented Feb 16, 2026

DemoAndroidLNjScheme does not build

gcc  -DLINUX -fcommon  -c *.c -I/github/home/.cache/lambdanative/linux/arm64-api28/include
unicode.c: In function 'utf8_wctomb':
unicode.c:221:14: error: implicit declaration of function 'htonl' [-Wimplicit-function-declaration]
  221 |         ch = htonl(in);
      |              ^~~~~
ERROR: failed with exit code 1

This seems to be a case of a function used before it is declared, though it doesn't seem that libraries/libiconv/unicode.c#L197 is the culprit, though try adding "#include <arpa/inet.h>" to it.

Thanks for the hint. Builds now.
Need to figure out how to adapt paths for:
https://github.com/part-cw/lambdanative/blob/master/make.sh#L1528-L1529

@bkmgit
Copy link
Copy Markdown
Contributor Author

bkmgit commented Feb 17, 2026

It seems to run successfully, though some of the steps in make.sh may need to be for GitHub only.

Can update to a newer Fedora image and also update external library versions, but probably best done as a next step.

Can also add builds for Android, but again best done as a next step.

GitHub does provide MacOs and Windows runners:
https://docs.github.com/en/actions/reference/runners/github-hosted-runners#standard-github-hosted-runners-for-public-repositories as I do not use these operating systems, maybe can leave them out for now.

Options for iOs on linux include:

Comment thread make.sh Outdated
fi
asserttool $inkscape
veval "$inkscape -z $svgsrc -w 1200 -e $pngtgt"
veval "$inkscape -z $svgsrc -w 1200 -o $pngtgt"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per https://linux.die.net/man/1/inkscape there is no "-o" ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was changed at some point from -e to -o see https://inkscape.org/doc/inkscape-man.html
We could check for the version of Inkscape and condition on that.

Comment thread make.sh Outdated
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`
echo $appexelocal
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this echo required?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Left over from debugging. Will remove.

Comment thread make.sh Outdated
here=`pwd`
cd "$appdir"
$appexelocal
xvfb-run $appexelocal
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This doesn't seem to be available for all host platforms, so it may be a special case for Linux or this GitHub testing workflow.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may be available on MacOS as well:
https://stackoverflow.com/questions/72853097/pyvirtual-display-and-xvfb-on-macos-latest
https://en.wikipedia.org/wiki/Xvfb
Probably there is something similar for Windows. Can add an option to allow running headless tests and if so check the platform. Would also need to check this is installed.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have checked if xvfb-run is available, and if so have used it.

mgorges added a commit that referenced this pull request Feb 18, 2026
- Adapt to Inkscape version on Linux
- Check if xvfb-run is available
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add pipeline to build apps

2 participants