.rules: rules: - changes: - src/**/* - 3rdp/**/* - ctrl/text.dat - xtrn/**/{GNUm,M}akefile - xtrn/**/*.{c,h,cpp,hpp,mk} include: - local: '.gitlab-ci-unix.yml' inputs: os: 'openbsd' platform: 'amd64' tagname: 'OpenBSD' - local: '.gitlab-ci-unix.yml' inputs: os: 'netbsd' platform: 'amd64' tagname: 'NetBSD' build_flags: 'RELEASE=1 USE_SYSTEM_CURSES=1' - local: '.gitlab-ci-unix.yml' inputs: os: 'freebsd' platform: 'amd64' tagname: 'FreeBSD' build_flags: 'RELEASE=1' - local: '.gitlab-ci-unix.yml' inputs: os: 'mingw32' platform: 'x86' tagname: 'FreeBSD' cross_platform: 'yes' build_flags: 'AR=mingw32-ar AS=mingw32-as CC=mingw32-gcc CXX=mingw32-g++ RANLIB=mingw32-ranlib WINDRES=mingw32-windres RELEASE=1' no_javascript: 'yes' has_curses: 'no' - local: '.gitlab-ci-unix.yml' inputs: os: 'raspian' platform: 'aarch64' tagname: 'RaspberryPi' no_javascript: 'yes' # NOTE: linux-sbbs builds gtkutils, so that would need to be fiddled with # - local: '.gitlab-ci-unix.yml' # inputs: # os: "linux" # platform: "x64" # tagname: "Linux" # cross_platform: "no" # build_flags: "RELEASE=1" # no_javascript: "no" sbbs-linux: tags: [Linux] image: gcc stage: build extends: .rules script: - cd src/sbbs3 - make RELEASE=1 all - make RELEASE=1 gtkutils artifacts: name: sbbs-linux-x64 paths: - "src/sbbs3/*.exe.release/*" - "src/sbbs3/*.lib.release/*" - "src/sbbs3/*/*.exe.release/*" 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: [sbbs-linux] sexpots-linux: tags: [Linux] image: gcc stage: build extends: .rules script: - cd src/sexpots - make RELEASE=1 artifacts: name: sexpots-linux-x64 paths: - "src/sexpots/*.exe.release/*" syncterm-linux: tags: [Linux] image: gcc stage: build extends: .rules script: - cd src/syncterm - make RELEASE=1 PREFIX=/usr dpkg artifacts: name: syncterm-linux-x64 paths: - "src/syncterm/*.exe.release/*" - "src/syncterm/syncterm*.deb" sbbs-windows: 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" sexpots-windows: tags: [Windows] stage: build extends: .rules script: - cd src/sexpots - .\release.bat artifacts: name: sexpots-win32 paths: - "src/sexpots/Release/*.exe" svdm-windows: tags: [Windows] stage: build extends: .rules script: - cd src/vdmodem - .\release.bat artifacts: name: svdm-win32 paths: - "src/vdmodem/Release/*.exe" syncterm-msvc: tags: [Windows] stage: build extends: .rules script: - cd src/syncterm - .\release.bat artifacts: name: syncterm-msvc paths: - "src/syncterm/Release/*.exe" syncdraw-linux: tags: [Linux] image: gcc stage: build extends: .rules script: - cd src/syncdraw - make RELEASE=1 artifacts: name: syncdraw-linux-x64 paths: - "src/syncdraw/*.exe.release/*" jsdoor-linux: tags: [Linux] image: gcc stage: build extends: .rules script: - cd src/sbbs3 - make RELEASE=1 jsdoor artifacts: name: jsdoor-linux-x64 paths: - "src/sbbs3/*.exe.release/*" sbbs-freebsd-noskeeters: extends: - .freebsd-build - sbbs-freebsd variables: BUILDPFLAGS: "RELEASE=1 WITHOUT_MOSQUITTO=1"