New Crowdin updates #771
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened] | |
branches-ignore: | |
- '!l10n_master' | |
jobs: | |
build: | |
name: Build and Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis | |
- name: Set up JDK 11 | |
run: | | |
sudo apt-get update | |
sudo apt-get -q -y install default-jdk | |
# apt-get -q -y install libservlet3.1-java tomcat9 | |
# uses: actions/setup-java@v1 | |
# with: | |
# java-version: 11 | |
- name: Set up Maven | |
uses: stCarolas/setup-maven@v4.5 | |
with: | |
maven-version: 3.8.7 | |
- name: Cache Maven packages | |
uses: actions/cache@v3 | |
with: | |
path: ~/.m2 | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-m2 | |
- name: Build | |
run: | | |
VERSION=$(grep -oP '<application.version>\K[^<]+' /home/runner/work/ctsms/ctsms/pom.xml) | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
COMMIT=$(git log --format=%B -n 1 "$GITHUB_SHA") | |
COMMIT_MESSAGE_REGEX="[Mm]erge [a-zA-Z0-9]+ into [a-zA-Z0-9]+" | |
if [[ $COMMIT =~ $COMMIT_MESSAGE_REGEX ]]; | |
then | |
COMMIT=$(echo "$COMMIT" | sed -e 's/[Mm]erge \([a-zA-Z0-9]\+\) into [a-zA-Z0-9]\+/\1/' | cut -c 1-7) | |
else | |
COMMIT=$(git rev-parse --short HEAD) | |
fi | |
echo "COMMIT=$COMMIT" >> $GITHUB_ENV | |
sed -r -i "s/<application.version>([^<]+)<\/application.version>/<application.version>\1 [$COMMIT]<\/application.version>/" /home/runner/work/ctsms/ctsms/pom.xml | |
UUID="test-" | |
UUID+=$(cat /proc/sys/kernel/random/uuid) | |
sed -r -i "s/<application.uuid><\/application.uuid>/<application.uuid>$UUID<\/application.uuid>/" /home/runner/work/ctsms/ctsms/pom.xml | |
mvn install -DskipTests --no-transfer-progress | |
- name: Setup database | |
run: | | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/setup_database.sh | |
/home/runner/work/ctsms/ctsms/.github/workflows/setup_database.sh | |
- name: Download master data | |
run: | | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/download_masterdata.sh | |
sudo /home/runner/work/ctsms/ctsms/.github/workflows/download_masterdata.sh | |
echo "CTSMS_PROPERTIES=/ctsms/properties" >> $GITHUB_ENV | |
echo "CTSMS_JAVA=/ctsms/java" >> $GITHUB_ENV | |
- name: Setup BulkProcessor | |
run: | | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/setup_bulkprocessor.sh | |
sudo -E /home/runner/work/ctsms/ctsms/.github/workflows/setup_bulkprocessor.sh | |
- name: Setup dbtool.sh | |
env: | |
MAIL_SENDER_HOST: ${{ secrets.MAIL_SENDER_HOST }} | |
MAIL_SENDER_PORT: ${{ secrets.MAIL_SENDER_PORT }} | |
MAIL_SENDER_PROTOCOL: ${{ secrets.MAIL_SENDER_PROTOCOL }} | |
MAIL_SENDER_USERNAME: ${{ secrets.MAIL_SENDER_USERNAME }} | |
MAIL_SENDER_PASSWORD: ${{ secrets.MAIL_SENDER_PASSWORD }} | |
MAIL_SENDER_AUTH: ${{ secrets.MAIL_SENDER_AUTH }} | |
MAIL_SENDER_STARTTLS: ${{ secrets.MAIL_SENDER_STARTTLS }} | |
MAIL_SENDER_ADDRESS: ${{ secrets.MAIL_SENDER_ADDRESS }} | |
run: | | |
sudo echo "email_exec_from_address=$MAIL_SENDER_ADDRESS" >> /ctsms/properties/ctsms-settings.properties | |
sudo echo "email_exec_from_name=Phoenix CTMS Automated Tests" >> /ctsms/properties/ctsms-settings.properties | |
sudo echo "job_mail_sender_host=$MAIL_SENDER_HOST" >> /ctsms/properties/ctsms-applicationcontext.properties | |
sudo echo "job_mail_sender_port=$MAIL_SENDER_PORT" >> /ctsms/properties/ctsms-applicationcontext.properties | |
sudo echo "job_mail_sender_protocol=$MAIL_SENDER_PROTOCOL" >> /ctsms/properties/ctsms-applicationcontext.properties | |
sudo echo "job_mail_sender_username=$MAIL_SENDER_USERNAME" >> /ctsms/properties/ctsms-applicationcontext.properties | |
sudo echo "job_mail_sender_password=$MAIL_SENDER_PASSWORD" >> /ctsms/properties/ctsms-applicationcontext.properties | |
sudo touch /ctsms/properties/ctsms-job-mail-sender.properties | |
sudo chown ctsms:ctsms /ctsms/properties/ctsms-job-mail-sender.properties | |
sudo chmod 777 /ctsms/properties/ctsms-job-mail-sender.properties | |
sudo echo "mail.smtp.auth=$MAIL_SENDER_AUTH" >> /ctsms/properties/ctsms-job-mail-sender.properties | |
sudo echo "mail.smtp.starttls.enable=$MAIL_SENDER_STARTTLS" >> /ctsms/properties/ctsms-job-mail-sender.properties | |
sudo chown ctsms:ctsms /home/runner/work/ctsms/ctsms/.github/workflows/dbtool.sh | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/dbtool.sh | |
sudo mv /home/runner/work/ctsms/ctsms/.github/workflows/dbtool.sh /ctsms/dbtool.sh | |
sudo chmod 777 /home | |
sudo chmod 777 /home/runner | |
sudo chmod 777 /home/runner/work | |
sudo chmod 777 /home/runner/work/ctsms | |
sudo chmod 777 /home/runner/work/ctsms/ctsms/web -R | |
- name: Initialize DB | |
run: | | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/init_database.sh | |
/home/runner/work/ctsms/ctsms/.github/workflows/init_database.sh | |
- name: Setup Tomcat | |
run: | | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/setup_tomcat.sh | |
sudo -E /home/runner/work/ctsms/ctsms/.github/workflows/setup_tomcat.sh | |
- name: Setup ChromeDriver | |
run: | | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/setup_selenium.sh | |
sudo /home/runner/work/ctsms/ctsms/.github/workflows/setup_selenium.sh | |
sudo chmod 755 /home/runner/work/ctsms/ctsms/.github/workflows/run_selenium_test.sh | |
sudo apt-get -q -y install wkhtmltopdf | |
# xvfb-run java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone-4.4.0.jar 2>&1 & | |
# sleep 5 | |
- name: Load demo data | |
run: | | |
/ctsms/dbtool.sh -ldd -f | |
- name: Run tests | |
env: | |
FTP_HOST: ${{ secrets.FTP_HOST }} | |
FTP_USERNAME: ${{ secrets.FTP_USERNAME }} | |
FTP_PASSWORD: ${{ secrets.FTP_PASSWORD }} | |
FTP_PATH: ${{ secrets.FTP_PATH }} | |
run: | | |
/home/runner/work/ctsms/ctsms/.github/workflows/run_selenium_test.sh org.phoenixctms.ctsms.selenium.proband.* "Proband Tests" git@phoenixctms.org | |
/home/runner/work/ctsms/ctsms/.github/workflows/run_selenium_test.sh org.phoenixctms.ctsms.selenium.trial.* "Trial Tests" git@phoenixctms.org | |
# - name: test perl selenium remote | |
# run: | | |
# perl /home/runner/work/ctsms/ctsms/.github/workflows/seleniumtest.pl |