language: php env: global: - CORE_BRANCH=stable20 - APP_NAME=ransomware_detection - KRANKERL_VERSION=0.12.3 services: - mysql - postgresql before_install: - wget https://raw.githubusercontent.com/nextcloud/travis_ci/master/before_install.sh - . ./before_install.sh $APP_NAME $CORE_BRANCH $DB - cd ../server - ./occ check - ./occ status - ./occ app:enable $APP_NAME - ./occ app:list - composer install jobs: fast_finish: true allow_failures: - env: "CHECKSTYLE=2" include: - stage: test php: 7.3 env: - DB=mysql script: - cd apps/$APP_NAME/ - phpunit --configuration phpunit.xml - stage: test php: 7.3 env: - DB=pgsql script: - cd apps/$APP_NAME/ - phpunit --configuration phpunit.xml - stage: test php: 7.3 env: - DB=mysql script: - cd apps/$APP_NAME/ - phpunit --configuration phpunit.xml - stage: test php: 7.3 env: - DB=mysql - CHECKSTYLE=1 script: - ./occ app:check-code $APP_NAME -c private -c strong-comparison - stage: test php: 7.3 env: - DB=mysql - CHECKSTYLE=2 script: - ./occ app:check-code $APP_NAME -c deprecation - stage: report php: 7.3 env: - DB=sqlite script: - cd tests - wget https://codecov.io/bash -O codecov.sh - bash codecov.sh - stage: release php: 7.3 env: - DB=sqlite script: - mkdir -p $HOME/.nextcloud/certificates - curl --output $HOME/.nextcloud/certificates/ransomware_detection.crt -L https://raw.githubusercontent.com/nextcloud/app-certificate-requests/master/ransomware_detection/ransomware_detection.crt - echo $PRIVATE_KEY > $HOME/.nextcloud/certificates/ransomware_detection.key - wget https://github.com/ChristophWurst/krankerl/releases/download/v${KRANKERL_VERSION}/krankerl_${KRANKERL_VERSION}_amd64.deb - sudo dpkg -i krankerl_${KRANKERL_VERSION}_amd64.deb - sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0 - sudo apt-add-repository https://cli.github.com/packages - sudo apt update - sudo apt install gh - ./occ integrity:sign-app --privateKey="$HOME/.nextcloud/certificates/ransomware_detection.key" --certificate="$HOME/.nextcloud/certificates/ransomware_detection.crt" --path="$(pwd)/apps/$APP_NAME" - cd apps/$APP_NAME/ - krankerl package - gh auth login --with-token <<< $GITHUB_TOKEN - gh release create $TRAVIS_TAG build/artifacts/ransomware_detection.tar.gz -t $TRAVIS_TAG - krankerl login --appstore $NEXTCLOUD_APPS_TOKEN - krankerl publish https://github.com/undo-ransomware/ransomware_detection/releases/download/$TRAVIS_TAG/ransomware_detection.tar.gz stages: - test - report - name: release if: tag IS present