Skip to content

GRANTS - CHANGE PASSWORD SMOKE TESTS #160

GRANTS - CHANGE PASSWORD SMOKE TESTS

GRANTS - CHANGE PASSWORD SMOKE TESTS #160

name: GRANTS - CHANGE PASSWORD SMOKE TESTS
on:
schedule:
# This corresponds to 8:00 AM EST (1:00 PM UTC) from Monday to Friday
- cron: '0 13 * * MON-FRI'
workflow_dispatch:
inputs:
testBrowser:
description: 'Browser'
required: true
default: 'chrome'
jobs:
build:
runs-on: self-hosted
env:
DISPLAY: ":.99"
SCREEN_RESOLUTION: "1280x1024x24"
steps:
- name: Setup xvfb
run: |
sudo yum install -y xorg-x11-server-Xvfb
Xvfb :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
- 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 yum install -y wget
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum install -y ./google-chrome-stable_current_x86_64.rpm
- 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
sed -i "s/USER_VAR/${{ secrets.JUAREZDS_USERNAME }}/g" src/main/resources/conf/cloudEnv.properties
sed -i "s/PASSWORD_VAR/${{ secrets.JUAREZDS_PASSWORD }}/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=RunChangePasswordSmokeTest -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::changePassword-smoke-reports"
- name: Upload Cucumber Report
uses: actions/upload-artifact@v3
if: always()
with:
name: cucumber-report-${{ github.run_number }}
path: target/changePassword-smoke-reports/*
- 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/changePassword-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 "changePassword-smoke-test-results.html" ]]; then
sed -i '1s/.*/<h1>CHANGE PASSWORD Smoke Test Results<\/h1>/' changePassword-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>" >> changePassword-smoke-test-results.html
git add changePassword-smoke-test-results.html
git commit -m "Update changePassword-smoke-test-results.html"
else
echo "<h1>CHANGE PASSWORD Smoke Test Results</h1>" > changePassword-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>" >> changePassword-smoke-test-results.html
git add changePassword-smoke-test-results.html
git commit -m "Create and update changePassword-smoke-test-results.html"
fi
git push https://${GH_TOKEN}@github.com/${GITHUB_REPOSITORY}.git HEAD:gh-pages