Skip to content
Snippets Groups Projects
.gitlab-ci.yml 3.8 KiB
Newer Older
# This file creates automated tests on GitLab CI for Purr Data.
# See https://docs.gitlab.com/ee/ci/yaml/README.html for details of the format.

# These are script snippets used in the jobs defined below.
.debian_image_preparation: &debian_image_preparation
  - echo "" | sudo -S apt-get -qq purge -y pd-l2ork > /dev/null || echo "couldn't purge..."
  - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y update > /dev/null
  - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive apt-get -qq -y upgrade > /dev/null

.build_all: &build_all
  - echo -e "section_start:`date +%s`:build_all\r\e[0KBuilding Purr Data"
  - cd l2ork_addons
  - ./tar_em_up.sh $BUILD_TYPE_FLAG
  - cd ..
  - echo -e "section_end:`date +%s`:build_all\r\e[0K"

.test_linux: &test_linux
  - echo -e "section_start:`date +%s`:test_linux\r\e[0KTesting Purr Data for Linux"
  - echo "" | sudo -S DEBIAN_FRONTEND=noninteractive dpkg --force-all -i pd-l2ork*.deb > /dev/null
  - valgrind pd-l2ork -noprefs -nogui -nrt -noaudio -send "init dollarzero \$0" scripts/regression_tests.pd
  - valgrind pd-l2ork -noprefs -nostdpath -nogui -nrt -noaudio scripts/external-tests.pd
  - echo -e "section_end:`date +%s`:text_linux\r\e[0K"

.test_osx: &test_osx
  - echo -e "section_start:`date +%s`:test_osx\r\e[0KTesting Purr Data for Mac OSX"
  - cd scripts
  - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
  - ../packages/darwin_app/build/*.app/Contents/Resources/app.nw/bin/pd-l2ork -noprefs -nostdpath -nogui -noaudio external-tests.pd
  - echo -e "section_end:`date +%s`:text_osx\r\e[0K"

.test_windows: &test_windows
  - echo -e "section_start:`date +%s`:test_windows\r\e[0KTesting Purr Data for Windows"
  - cd scripts
  - ../packages/win64_inno/build/bin/pd.com -noprefs -nogui -noaudio -send "init dollarzero \$0" regression_tests.pd
  - ../packages/win64_inno/build/bin/pd.com -noprefs -nostdpath -nogui -noaudio external-tests.pd
  - echo -e "section_end:`date +%s`:text_windows\r\e[0K"


   tags:
     - debian
     - stretch
   variables:
     BUILD_TYPE_FLAG: -B
   before_script:
     - *debian_image_preparation
   script:
     - *build_all
     - *test_linux
     name: "$CI_RUNNER_DESCRIPTION"
     expire_in: 1 day
   variables:
     BUILD_TYPE_FLAG: -B
   before_script:
     - *debian_image_preparation
     - *build_all
     - *test_linux
     name: "$CI_RUNNER_DESCRIPTION"
     expire_in: 1 day
   tags:
     - osx
     - v10.11
     - dmg
   variables:
     BUILD_TYPE_FLAG: -X
   script:
     - echo `pwd`
     - *build_all
     - *test_osx
   artifacts:
     name: "$CI_RUNNER_DESCRIPTION"
     expire_in: 1 day
     paths:
Albert Gräf's avatar
Albert Gräf committed
       - Purr*.dmg
   tags:
     - osx
     - v10.8
     - dmg
   variables:
     BUILD_TYPE_FLAG: -X
     osx_version: "10.8"
   script:
     - echo `pwd`
     - *build_all
     - *test_osx
   artifacts:
     name: "$CI_RUNNER_DESCRIPTION"
     expire_in: 1 day
     paths:
Albert Gräf's avatar
Albert Gräf committed
       - Purr*.dmg
windows_x86_64_innosetup:
  tags:
    - windows
  variables:
    BUILD_TYPE_FLAG: -Z
  script:
    - echo `pwd`
    - *build_all
    - *test_windows
  artifacts:
    name: "$CI_RUNNER_DESCRIPTION"
    expire_in: 1 day
    paths:
      - Purr*.exe
   variables:
     BUILD_TYPE_FLAG: -r
   before_script:
     - *debian_image_preparation
     - *build_all
     - *test_linux
     name: "$CI_RUNNER_DESCRIPTION"