diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml new file mode 100644 index 0000000000..53b35ef28c --- /dev/null +++ b/.github/workflows/CI.yml @@ -0,0 +1,50 @@ +name: CI +on: + push: + branches: + - master + pull_request: + branches: + - master + +jobs: + test: + name: "${{ matrix.platform }} with Java ${{ matrix.java-distribution }} version 8" + strategy: + matrix: + platform: + - ubuntu-latest + - windows-latest + - macos-latest + java-distribution: + - adopt-hotspot + - temurin + - zulu + runs-on: ${{ matrix.platform }} + timeout-minutes: 15 + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Setup Java + uses: actions/setup-java@v2 + with: + distribution: ${{ matrix.java-distribution }} + java-version: 8 + - name: Build + run: ./gradlew -i -S build + - name: Tomcat Install + run: ./gradlew -i -S tomcatInstall + - name: Start Tomcat + run: ./gradlew -i -S tomcatStart + - name: Stop Tomcat + run: ./gradlew -i -S tomcatStop + - name: Clear Logs Tomcat + run: ./gradlew -i -S tomcatClearLogs + - name: Start Database + run: ./gradlew -i -S hsqlStart + - name: Init Data + run: ./gradlew -i -S dataInit + - name: Stop Database + run: ./gradlew -i -S hsqlStop + - name: Generate Skin + run: ./gradlew -i -S skinGenerate -DskinName=test diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index def00dbe20..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,138 +0,0 @@ -language: java - -jobs: - include: - - os: linux - dist: trusty - jdk: oraclejdk8 - env: DB=mariadb - addons: - mariadb: '10.1' - - os: linux - dist: trusty - jdk: openjdk8 - env: DB=mariadb - addons: - mariadb: '10.1' - - os: linux - dist: trusty - jdk: oraclejdk8 - env: DB=hsql - - os: linux - dist: trusty - jdk: openjdk8 - env: DB=hsql - - os: osx - osx_image: xcode9.1 # OSX 10.12, Oracle Java 8 - env: DB=hsql - -before_script: - - | - echo Start travis - echo Current dir is `pwd` - echo Home dir is `echo ~` - echo TRAVIS_BUILD_DIR is $TRAVIS_BUILD_DIR - if [ "$DB" = 'mariadb' ]; then - echo mysql conf `ls -la /etc/mysql/*` - sudo ls -l /etc/mysql/my.cnf - sudo find / -name "mariadb.cnf" -exec ls -l \{\} \; - sudo find / -name "my.cnf" -exec ls -l \{\} \; - echo "show my.cnf" - sudo find / -name "my.cnf" -exec sudo cat \{\} \; - echo "show mariadb.cnf" - sudo find / -name "mariadb.cnf" -exec sudo cat \{\} \; - sudo ls -l /var/lib/mysql/ - fi - - - | - echo "Setting up database" - #if [ "$DB" = 'mysql' ] || [ "$DB" = 'mariadb' ] || [ "$DB" = 'postgresql' ]; then - if [ "$DB" = 'mariadb' ]; then - echo "setting MariaDB" - echo "Default variables before custom settings" - mysql -e 'SHOW VARIABLES;' - # needed for a fast stop and to apply change - mysql -e 'SET GLOBAL innodb_fast_shutdown = 0;' - sudo service mysql stop - # was used in 10.1.32 : cp ./.travis/conf/database/mariadb/mariadb-server.cnf ~/.my.cnf - # now the configuration is read into /etc/mysql/conf.d/ - # we override the default mariadb.cnf as nothing important is provided - sudo cp ./.travis/conf/database/mariadb/mariadb-server.cnf /etc/mysql/conf.d/mariadb.cnf - # needed to remove with 10.1.35 - sudo rm /var/lib/mysql/ibdata1 - sudo rm /var/lib/mysql/ib_logfile0 - sudo rm /var/lib/mysql/ib_logfile1 - sudo service mysql start - - sudo cat /var/log/mysql/error.log - - echo "creating database uportal" - mysql -e 'DROP DATABASE IF EXISTS uportal;' - mysql -e 'CREATE DATABASE IF NOT EXISTS uportal DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;' - echo "grant privilegies for user travis on database uportal@localhost" - mysql -e 'GRANT ALL PRIVILEGES ON uportal.* TO travis@`127.0.0.1`;' - mysql -e 'SHOW CREATE DATABASE uportal;' - - mysql -e 'DROP DATABASE IF EXISTS announcements;' - mysql -e 'CREATE DATABASE IF NOT EXISTS announcements DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;' - echo "grant privilegies for user travis on database announcements@localhost" - mysql -e 'GRANT ALL PRIVILEGES ON announcements.* TO travis@`127.0.0.1`;' - mysql -e 'SHOW CREATE DATABASE announcements;' - - mysql -e 'DROP DATABASE IF EXISTS calendar;' - mysql -e 'CREATE DATABASE IF NOT EXISTS calendar DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;' - echo "grant privilegies for user travis on database calendar@localhost" - mysql -e 'GRANT ALL PRIVILEGES ON calendar.* TO travis@`127.0.0.1`;' - mysql -e 'SHOW CREATE DATABASE calendar;' - - mysql -e 'DROP DATABASE IF EXISTS `news_reader`;' - mysql -e 'CREATE DATABASE IF NOT EXISTS `news_reader` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;' - echo "grant privilegies for user travis on database `news_reader`@localhost" - mysql -e 'GRANT ALL PRIVILEGES ON news_reader.* TO travis@`127.0.0.1`;' - mysql -e 'SHOW CREATE DATABASE `news_reader`;' - - mysql -e 'DROP DATABASE IF EXISTS cms;' - mysql -e 'CREATE DATABASE IF NOT EXISTS cms DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;' - echo "grant privilegies for user travis on database cms@localhost" - mysql -e 'GRANT ALL PRIVILEGES ON travis.* TO cms@`127.0.0.1`;' - mysql -e 'SHOW CREATE DATABASE cms;' - - mysql -e 'FLUSH PRIVILEGES;' - mysql -e 'SHOW GRANTS;' - #echo "USE mysql;\nUPDATE user SET password=PASSWORD('password') WHERE user='travis';\nFLUSH PRIVILEGES;\n" | mysql -u root - sudo service mysql restart - mysql -u travis -h 127.0.0.1 -e 'SELECT VERSION(); SELECT CURRENT_USER(); show databases;' - mysql -e 'SHOW VARIABLES;' - - echo "show error.log" - sudo cat /var/log/mysql/error.log - echo "conf MariaDB done!" - fi - -script: - # test embedded tomcat - - ./gradlew -i -S tomcatInstall - - ./gradlew -i -S tomcatStart - - ./gradlew -i -S tomcatRestart - - ./gradlew -i -S tomcatStop - - ./gradlew -i -S tomcatClearLogs - - | - if [ "$DB" = 'hsql' ]; then - echo "testing on hsql..." - ./gradlew -i -S hsqlStart - ./gradlew -i -S dataInit - ./gradlew -i -S hsqlStop - fi - if [ "$DB" = 'mariadb' ]; then - echo "testing on MariaDB..." - echo -n "mysqldbVersion=5.1.45" >> gradle.properties - sed -i '/jdbc "org.hsqldb:hsqldb:/a jdbc "mysql:mysql-connector-java:${mysqldbVersion}"' ./overlays/build.gradle - ./gradlew -i -S dataInit -Dportal.home=./.travis/conf/database/mariadb - fi - # test skin generation tool - - ./gradlew -i -S skinGenerate -DskinName=travis - -cache: - directories: - - .gradle - - $HOME/.gradle/ diff --git a/README.md b/README.md index 4a522abaa5..0ad0655c3e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ![uPortal logo](docs/en/images/uPortal-logo.jpg) -[![Linux Build Status](https://travis-ci.org/uPortal-Project/uPortal-start.svg?branch=master)](https://travis-ci.org/uPortal-Project/uPortal-start) +[![build status](https://github.com/uPortal-Project/uPortal-start/workflows/CI/badge.svg?branch=master)](https://github.com/uPortal-Project/uPortal-start/actions) [:fr: Français](docs/fr) diff --git a/appveyor.yml b/appveyor.yml deleted file mode 100644 index 6fcbb2e13b..0000000000 --- a/appveyor.yml +++ /dev/null @@ -1,24 +0,0 @@ -environment: - JAVA_HOME: C:\Program Files\Java\jdk1.8.0 -os: Visual Studio 2017 # Windows Server 2016 -install: - - java -version - - gradlew.bat --version -build: off -test_script: - # install and build source - - gradlew.bat -i -S build - # test embedded tomcat - - gradlew.bat -i -S tomcatInstall - - gradlew.bat -i -S tomcatStart - - gradlew.bat -i -S tomcatStop - - gradlew.bat -i -S tomcatClearLogs - # test HSQL - - gradlew.bat -i -S hsqlStart - - gradlew.bat -i -S dataInit - - gradlew.bat -i -S hsqlStop - # test skin generation tool - - gradlew.bat -i -S skinGenerate -DskinName=appveyor -cache: - - .gradle - - C:\Users\appveyor\.gradle diff --git a/docs/fr/README.md b/docs/fr/README.md index a7abce8ac9..532b10cc2f 100644 --- a/docs/fr/README.md +++ b/docs/fr/README.md @@ -1,6 +1,6 @@ ![uPortal logo](../en/images/uPortal-logo.jpg) -[![Linux Build Status](https://travis-ci.org/uPortal-Project/uPortal-start.svg?branch=master)](https://travis-ci.org/uPortal-Project/uPortal-start) +[![build status](https://github.com/uPortal-Project/uPortal-start/workflows/CI/badge.svg?branch=master)](https://github.com/uPortal-Project/uPortal-start/actions) ## À propos d'uPortal-start