Skip to content

CHARMS-RAS-REGRESSION #31

CHARMS-RAS-REGRESSION

CHARMS-RAS-REGRESSION #31

name: CHARMS-RAS-REGRESSION
on:
schedule:
# This corresponds to 6:00 AM EDT (10:00 AM UTC)
- cron: '0 10 * * *'
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: 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=ServiceNow.CHARMS.Runners.Run_CHARMS_RAS_Regression_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::html-charms-rasopathy-regression-reports"
- name: Upload Cucumber Report
uses: actions/upload-artifact@v2
if: always()
with:
name: cucumber-report-${{ github.run_number }}
path: target/html-charms-rasopathy-regression-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 stash pop
mkdir -p ${{ steps.reportpath.outputs.path }}
mv target/html-charms-rasopathy-regression-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 "charms-ras-test-results.html" ]]; then
sed -i '1s/.*/<h1>CHARMS RAS Test Results<\/h1>/' charms-ras-test-results.html
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>" >> charms-ras-test-results.html
git add charms-ras-test-results.html
git commit -m "Update charms-ras-test-results.html"
else
echo "<h1>CHARMS RAS Test Results</h1>" > charms-ras-test-results.html
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>" >> charms-ras-test-results.html
git add charms-ras-test-results.html
git commit -m "Create and update charms-ras-test-results.html"
fi
git push https://${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:gh-pages