Skip to content

CHARMS - FANCONI STUDY SMOKE TESTS #172

CHARMS - FANCONI STUDY SMOKE TESTS

CHARMS - FANCONI STUDY SMOKE TESTS #172

name: CHARMS - FANCONI STUDY SMOKE TESTS
on:
schedule:
# This corresponds to 7:30 AM EST (12:30 PM UTC) from Monday to Friday
- cron: '30 12 * * MON-FRI'
workflow_dispatch:
inputs:
testBrowser:
description: 'Browser'
required: true
default: 'chrome'
jobs:
build:
runs-on: ubuntu-latest
env:
DISPLAY: ".99"
SCREEN_RESOLUTION: "1280x1024x24"
steps:
- uses: actions/checkout@v2
with:
ref: ${{ github.ref }}
fetch-depth: 0
- name: Set up JDK 1.11
uses: actions/setup-java@v1
with:
java-version: 1.11
- name: Install Google Chrome
run: |
sudo apt-get install -y wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get install -y ./google-chrome-stable_current_amd64.deb
- name: Check and remove Chromedriver if exists
run: |
if type chromedriver >/dev/null 2>&1; then
echo "Chromedriver found, removing..."
sudo rm -f $(which chromedriver)
else
echo "Chromedriver not found, proceeding..."
fi
- name: Replace variables in cloudEnv.properties
run: |
sed -i "s/SIDE_DOOR_USERNAME/${{ secrets.SIDEDOORUSERNAME }}/g" src/main/resources/conf/cloudEnv.properties
sed -i "s/SIDE_DOOR_PASSWORD/${{ secrets.SIDEDOORPASSWORD }}/g" src/main/resources/conf/cloudEnv.properties
if [ "${{ github.event_name }}" = "schedule" ]; then
sed -i "s/BROWSER_VAR/chrome/g" src/main/resources/conf/cloudEnv.properties
else
sed -i "s/BROWSER_VAR/${{ github.event.inputs.testBrowser }}/g" src/main/resources/conf/cloudEnv.properties
fi
sed -i "s/ENV_VAR/test/g" src/main/resources/conf/cloudEnv.properties
- name: Run specific runner class
run: mvn -B -q -Dtest=Run_CHARMS_Fanconi_Smoke_Test -DisCloud=true test
continue-on-error: true
- name: Generate timestamp
id: timestamp
run: echo "::set-output name=timestamp::$(TZ='America/New_York' date +'%Y-%m-%d_%I-%M-%S_%p')"
- name: Determine report path
id: reportpath
run: echo "::set-output name=path::fanconi-smoke-reports"
- name: Upload Cucumber Report
uses: actions/upload-artifact@v3
if: always()
with:
name: cucumber-report-${{ github.run_number }}
path: target/fanconi-smoke-reports/*
- name: Remove Google Chrome installation file
run: rm google-chrome-stable_current_amd64.deb
- name: Push HTML Report
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
git config --global user.email "[email protected]"
git config --global user.name "iamdez99"
git stash
git fetch
git checkout gh-pages
git rm -f src/main/resources/conf/cloudEnv.properties
git checkout stash -- .
mkdir -p ${{ steps.reportpath.outputs.path }}
mv target/fanconi-smoke-reports/*.html ${{ steps.reportpath.outputs.path }}/report-${{ steps.timestamp.outputs.timestamp }}.html
git add .
git commit -m "Publishing cucumber report ${{ github.run_number }}"
git push -f https://${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:gh-pages
- name: Update Test Results and Append to Index File
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
run: |
if [ ! -f fanconi-smoke-test-results.html ]; then
echo '<h1>CHARMS - FANCONI Study Smoke Test Results</h1>' > fanconi-smoke-test-results.html
fi
echo "<h3><a href='${{ steps.reportpath.outputs.path }}/report-${{ steps.timestamp.outputs.timestamp }}.html'>Test Report ${{ steps.reportpath.outputs.path }}/report-${{ steps.timestamp.outputs.timestamp }}.html</a></h3>" >> fanconi-smoke-test-results.html
git add fanconi-smoke-test-results.html
git commit -m "Update fanconi-smoke-test-results.html"
git push https://${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:gh-pages