PLATFORM BUSINESS - SSJ SMOKE TESTS #137
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: PLATFORM BUSINESS - SSJ SMOKE TESTS | |
on: | |
schedule: | |
# This corresponds to 10:00 AM EST (3:00 PM UTC) from Monday to Friday | |
- cron: '0 15 * * 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: 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=SSJ_Smoke_Runners -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::ssj-smoke-reports" | |
- name: Upload Cucumber Report | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: cucumber-report-${{ github.run_number }} | |
path: target/ssj-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/ssj-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: | | |
touch ssj-smoke-test-results.html | |
if [ -f "ssj-smoke-test-results.html" ]; then | |
sed -i '1s/.*/<h1>SSJ Smoke Test Results<\/h1>/' ssj-smoke-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>" >> ssj-smoke-test-results.html | |
git add ssj-smoke-test-results.html | |
git commit -m "Update ssj-smoke-test-results.html" | |
git push https://${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:gh-pages | |
else | |
echo "ssj-smoke-test-results.html does not exist" | |
fi |