stages: - build - package - deploy - updatewebsite # TARGET SYSTEM: UBUNTU X build-ubuntu-x: tags: - ubuntu stage: build script: - sudo apt-get update -qq && sudo apt-get install -y -qq g++ libpcap0.8-dev libx11-dev libxext-dev re2c cmake - mkdir build - cd build - cmake .. - make - make clean ; make - mv bin/GSplus ../gsplusx artifacts: paths: - gsplusx expire_in: 10 minutes only: - master package-ubuntu-x: tags: - ubuntu stage: package script: - cp src/config.txt . - 'echo "# CI_BUILD_ID: $CI_BUILD_ID" >> config.txt' - cp LICENSE.txt doc/ artifacts: paths: - gsplusx - config.txt - doc/gsplusmanual.pdf - doc/LICENSE.txt expire_in: 10 minutes only: - master # TARGET SYSTEM: DEPRECATED, UBUNTU SDL build-ubuntu-sdl: tags: - ubuntu stage: build script: - sudo apt-get update -qq && sudo apt-get install -y -qq g++ libpcap0.8-dev libx11-dev libsdl2-dev libfreetype6-dev libsdl2-image-dev - cd src - ln -s vars_x86linux_sdl vars - make clean ; make only: - master # TARGET SYSTEM: REALLY ANY LINUX, BUT UBUNTU W SDL2 build-ubuntu-sdl2: tags: - ubuntu stage: build script: - sudo apt-get update -qq && sudo apt-get install -y -qq g++ libpcap0.8-dev libx11-dev libsdl2-dev libfreetype6-dev libsdl2-image-dev re2c cmake - mkdir build - cd build - cmake .. - make - mv bin/GSplus ../gsplus-ubuntu-sdl.bin artifacts: paths: - gsplus-ubuntu-sdl.bin expire_in: 10 minutes package-ubuntu-sdl2: tags: - ubuntu stage: package variables: GIT_STRATEGY: fetch PACKAGE_DIR: gsplus-ubuntu-sdl script: - mkdir $PACKAGE_DIR - mkdir $PACKAGE_DIR/doc - cp gsplus-ubuntu-sdl.bin $PACKAGE_DIR/gsplus - cp src/config.txt $PACKAGE_DIR - 'echo "# CI_BUILD_ID: $CI_BUILD_ID" >> $PACKAGE_DIR/config.txt' - cp src/parallel.rom %PACKAGE_DIR% - cp LICENSE.txt $PACKAGE_DIR/doc/ - cp doc/gsplusmanual.pdf %PACKAGE_DIR% - cp doc/README.txt %PACKAGE_DIR% - tar -cvjf gsplus-ubuntu-sdl.tar.bz2 $PACKAGE_DIR artifacts: paths: - gsplus-ubuntu-sdl.tar.bz2 expire_in: 10 minutes package-ubuntu-sdl2-deb: tags: - ubuntu stage: package variables: GIT_STRATEGY: fetch PACKAGE_NAME: gsplus_$CI_VERSION-0 script: - mkdir -p $PACKAGE_NAME/usr/local/bin - mkdir -p $PACKAGE_NAME/DEBIAN - cp gsplus-ubuntu-sdl.bin $PACKAGE_NAME/usr/local/bin/gsplus - cp assets/control $PACKAGE_NAME/DEBIAN - dpkg-deb --build $PACKAGE_NAME artifacts: paths: - $PACKAGE_NAME.deb expire_in: 10 minutes deploy-ubuntu: tags: - ubuntu stage: deploy variables: GIT_STRATEGY: none PACKAGE_NAME: gsplus_$CI_VERSION-0 script: - aws s3 cp gsplus-ubuntu-sdl.tar.bz2 s3://$AWS_BUCKET/$CI_TAG/$CI_VERSION/$CI_PIPELINE_ID/ubuntu-sdl/$CI_BUILD_ID/ --acl public-read - aws s3 cp $PACKAGE_NAME.deb s3://$AWS_BUCKET/$CI_TAG/$CI_VERSION/$CI_PIPELINE_ID/ubuntu-sdl-deb/$CI_BUILD_ID/ --acl public-read # TARGET SYSTEM: OSX 10.SOMETHING build-osx: tags: - osx stage: build script: - mkdir build - cd build - cmake .. - make - make clean ; make - mv bin/GSplus.app/Contents/MacOS/GSplus ../gsplus-osx artifacts: paths: - gsplus-osx expire_in: 15 minutes package-osx: tags: - osx stage: package script: - mv gsplus-osx gsplus - cp src/config.txt . - 'echo "# CI_BUILD_ID: $CI_BUILD_ID" >> config.txt' - chmod +x make_dist_mac.sh - ./make_dist_mac.sh - chmod +x make_dmg_mac.sh - ./make_dmg_mac.sh artifacts: paths: - GSplus-Install.dmg expire_in: 10 minutes deploy-osx: tags: - osx stage: deploy variables: GIT_STRATEGY: none script: - aws s3 cp GSplus-Install.dmg s3://$AWS_BUCKET/$CI_TAG/$CI_VERSION/$CI_PIPELINE_ID/osx/$CI_BUILD_ID/ --acl public-read # TARGET SYSTEM: WIN32 GDI WIN API UNDER MSYS2 build-win32-gdi: tags: - windows,msys stage: build script: - ls - mkdir build - cd build - cmake ../ -DDRIVER=WIN32 -DWITH_DEBUGGER=OFF -DWITH_STATIC=ON -G "Unix Makefiles" - make VERBOSE=1 GSplus - mv bin/GSplus.exe ../GSplus-win32-gdi.exe artifacts: paths: - GSplus-win32-gdi.exe expire_in: 10 minutes only: - master - /^win.*/ - /^ks.*/ package-win32-gdi: tags: - windows,msys variables: GIT_STRATEGY: fetch PACKAGE_DIR: gsplus-win32-gdi stage: package script: - ls - mkdir %PACKAGE_DIR% - cp src/config.txt %PACKAGE_DIR% - 'echo "# CI_BUILD_ID: $CI_BUILD_ID" >> %PACKAGE_DIR%/config.txt' - cp LICENSE.txt doc/ - cp GSplus-win32-gdi.exe %PACKAGE_DIR%/GSplus.exe - cp LICENSE.txt %PACKAGE_DIR% - cp src/config.txt %PACKAGE_DIR% - cp src/parallel.rom %PACKAGE_DIR% - cp doc/gsplusmanual.pdf %PACKAGE_DIR% - cp doc/README.txt %PACKAGE_DIR% - cp /mingw32/bin/libgcc_s_dw2-1.dll %PACKAGE_DIR% - cp /mingw32/bin/libstdc++-6.dll %PACKAGE_DIR% - cp /mingw32/bin/libwinpthread-1.dll %PACKAGE_DIR% - zip gsplus-win32-gdi.zip -r %PACKAGE_DIR% artifacts: paths: - gsplus-win32-gdi.zip expire_in: 10 minutes only: - master - /^win.*/ - /^ks.*/ deploy-win32-gdi: tags: - osx stage: deploy variables: GIT_STRATEGY: none script: - aws s3 cp gsplus-win32-gdi.zip s3://$AWS_BUCKET/$CI_TAG/$CI_VERSION/$CI_PIPELINE_ID/win32/$CI_BUILD_ID/ --acl public-read only: - master - /^win.*/ - /^ks.*/ # TARGET SYSTEM: MSYS2 MINGW32 SDL2 build-win32-sdl2: tags: - windows stage: build script: - mkdir build - cd build - bash -l -c 'PATH=/mingw32/bin:$PATH ; MSYSTEM=MINGW32 MSYSTEM_PREFIX=/mingw32 /mingw32/bin/cmake ../ -DDRIVER=SDL2 -DWITH_DEBUGGER=OFF -DWITH_STATIC=ON -G "MSYS Makefiles"' - bash -l -c 'PATH=/mingw32/bin:$PATH ;MSYSTEM=MINGW32 MSYSTEM_PREFIX=/mingw32 /mingw32/bin/mingw32-make VERBOSE=1 GSplus' - mv bin/GSplus.exe ../GSplus-win32-sdl.exe artifacts: paths: - GSplus-win32-sdl.exe expire_in: 10 minutes only: - master - /^win.*/ - /^ks.*/ package-win32-sdl2: tags: - windows stage: package variables: GIT_STRATEGY: fetch PACKAGE_DIR: gsplus-win32-sdl script: - ls - mkdir %PACKAGE_DIR% - cp GSplus-win32-sdl.exe %PACKAGE_DIR%/GSplus.exe - cp LICENSE.txt %PACKAGE_DIR% - cp src/config.txt %PACKAGE_DIR% - cp src/parallel.rom %PACKAGE_DIR% - cp doc/gsplusmanual.pdf %PACKAGE_DIR% - cp doc/README.txt %PACKAGE_DIR% - cp /mingw32/bin/libbz2-1.dll %PACKAGE_DIR% - cp /mingw32/bin/libfreetype-6.dll %PACKAGE_DIR% - cp /mingw32/bin/libgcc_s_dw2-1.dll %PACKAGE_DIR% - cp /mingw32/bin/libglib-2.0-0.dll %PACKAGE_DIR% - cp /mingw32/bin/libgraphite2.dll %PACKAGE_DIR% - cp /mingw32/bin/libharfbuzz-0.dll %PACKAGE_DIR% - cp /mingw32/bin/libiconv-2.dll %PACKAGE_DIR% - cp /mingw32/bin/libintl-8.dll %PACKAGE_DIR% - cp /mingw32/bin/libpcre-1.dll %PACKAGE_DIR% - cp /mingw32/bin/libpng16-16.dll %PACKAGE_DIR% - cp /mingw32/bin/libstdc++-6.dll %PACKAGE_DIR% - cp /mingw32/bin/libwinpthread-1.dll %PACKAGE_DIR% - cp /mingw32/bin/SDL2.dll %PACKAGE_DIR% - cp /mingw32/bin/SDL2_image.dll %PACKAGE_DIR% - cp /mingw32/bin/zlib1.dll %PACKAGE_DIR% - zip gsplus-win32-sdl.zip -r %PACKAGE_DIR% artifacts: paths: - gsplus-win32-sdl.zip expire_in: 10 minutes deploy-win32-sdl2: tags: - osx stage: deploy variables: GIT_STRATEGY: none script: - aws s3 cp gsplus-win32-sdl.zip s3://$AWS_BUCKET/$CI_TAG/$CI_VERSION/$CI_PIPELINE_ID/win-sdl/$CI_BUILD_ID/ --acl public-read update-website-universal: tags: - osx stage: updatewebsite variables: GIT_STRATEGY: none script: - aws s3 ls gsplus-artifacts/ --recursive > s3artifacts.txt - php assets/updatewebsite.php s3artifacts.txt public > index.html - php assets/updatewebsite.php s3artifacts.txt auto > index_auto.html - aws s3 cp index.html s3://$AWS_BUCKET/ --acl public-read