variables: BUILD_ARGS: description: "Extra arguments to pass on gmake command lines." stages: - build - test - cleanup .rules: rules: - changes: - src/**/* - 3rdp/**/* - ctrl/text.dat - xtrn/**/{GNUm,M}akefile - xtrn/**/*.{c,h,cpp,hpp,mk} allow_failure: true include: - local: '.gitlab-ci-unix.yml' inputs: os: 'openbsd' platform: 'amd64' tagname: 'OpenBSD' build_flags: 'CC="ccache cc" CXX="ccache c++" RELEASE=1' - local: '.gitlab-ci-unix.yml' inputs: os: 'netbsd' platform: 'amd64' tagname: 'NetBSD' build_flags: 'CC="ccache cc" CXX="ccache c++" RELEASE=1 USE_SYSTEM_CURSES=1' - local: '.gitlab-ci-unix.yml' inputs: os: 'freebsd' platform: 'amd64' tagname: 'FreeBSD' build_flags: 'CC="ccache cc" CXX="ccache c++" RELEASE=1' - local: '.gitlab-ci-unix.yml' inputs: os: 'raspian' platform: 'aarch64' tagname: 'RaspberryPi' no_javascript: 'yes' build_flags: 'CC="ccache cc" CXX="ccache c++" RELEASE=1' - local: '.gitlab-ci-unix.yml' inputs: os: "linux" platform: "x64" tagname: "Linux" has_gtk: "yes" - local: '.gitlab-ci-unix.yml' inputs: os: 'mingw-w64' platform: 'x86' tagname: 'FreeBSD' cross_platform: 'yes' build_flags: 'AR=/home/admin/mingw-w32/bin/i686-w64-mingw32-ar AS=/home/admin/mingw-w32/bin/i686-w64-mingw32-as CC="ccache /home/admin/mingw-w32/bin/i686-w64-mingw32-gcc" CXX="ccache /home/admin/mingw-w32/bin/i686-w64-mingw32-g++" RANLIB=/home/admin/mingw-w32/bin/i686-w64-mingw32-ranlib WINDRES=/home/admin/mingw-w32/bin/i686-w64-mingw32-windres RELEASE=1' no_javascript: 'yes' has_curses: 'no' - local: '.gitlab-ci-unix.yml' inputs: os: 'mingw-w64' platform: 'x64' tagname: 'FreeBSD' cross_platform: 'yes' build_flags: 'AR=/home/admin/mingw-w64/bin/x86_64-w64-mingw32-ar AS=/home/admin/mingw-w64/bin/x86_64-w64-mingw32-as CC="ccache /home/admin/mingw-w64/bin/x86_64-w64-mingw32-gcc" CXX="ccache /home/admin/mingw-w64/bin/x86_64-w64-mingw32-g++" RANLIB=/home/admin/mingw-w64/bin/x86_64-w64-mingw32-ranlib WINDRES=/home/admin/mingw-w64/bin/x86_64-w64-mingw32-windres RELEASE=1' no_javascript: 'yes' has_curses: 'no' - local: '.gitlab-ci-unix.yml' inputs: os: 'darwin' platform: 'x86' tagname: 'macOS' gnu_make: 'make' build_flags: 'CC="ccache cc" CXX="ccache c++" RELEASE=1' smoketest-jsexec-linux: tags: [Linux] image: gcc stage: test extends: .rules script: - cd src/sbbs3 - export LD_LIBRARY_PATH=$(realpath *.lib.release) - "*.exe.release/jsexec -C -c../../ctrl -r 'exit(0)'" dependencies: ["linux-x64 [sbbs]"] "windows-x86 [sbbs]": tags: [Windows] stage: build extends: .rules script: - cd src/xpdev - make - cd ../../src/sbbs3 - .\release.bat - cd ctrl - .\build.bat - cd ../chat - .\build.bat - cd ../useredit - .\build.bat - cd ../../../xtrn/sbj - make - cd ../tbd - make dependencies: [] artifacts: name: sbbs-win32 paths: - "src/sbbs3/*.exe.release/*.exe" - "src/sbbs3/*.dll.release/*.dll" - "src/sbbs3/*/*.exe.release/*.exe" - "src/sbbs3/*/*.exe" - "xtrn/*/*.exe" "windows-x86 [sexpots]": tags: [Windows] stage: build extends: .rules script: - cd src/sexpots - .\release.bat artifacts: name: sexpots-win32 paths: - "src/sexpots/Release/*.exe" "windows-x86 [svdm]": tags: [Windows] stage: build extends: .rules script: - cd src/vdmodem - .\release.bat artifacts: name: svdm-win32 paths: - "src/vdmodem/Release/*.exe" "windows-x86 [syncterm-msvc]": tags: [Windows] stage: build extends: .rules script: - cd src/syncterm - .\release.bat artifacts: name: syncterm-msvc paths: - "src/syncterm/Release/*.exe" "freebsd-amd64 [sbbs-noskeeters]": extends: - .freebsd-build - "freebsd-amd64 [sbbs-build]" variables: BUILDPFLAGS: "RELEASE=1 WITHOUT_MOSQUITTO=1"