[Wave9][Stage 1] Onboarding Flow #495
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: Reassure Performance Tests | |
on: | |
pull_request: | |
types: [opened, synchronize, closed] | |
branches-ignore: [staging, production] | |
paths-ignore: [docs/**, .github/**, contributingGuides/**, tests/**, workflow_tests/**, '**.md', '**.sh'] | |
jobs: | |
perf-tests: | |
if: ${{ github.actor != 'OSBotify' }} | |
runs-on: ubuntu-latest-reassure-tests | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup NodeJS | |
uses: ./.github/actions/composite/setupNode | |
- name: Set dummy git credentials | |
run: | | |
git config --global user.email "[email protected]" | |
git config --global user.name "Test" | |
- name: Get common ancestor commit | |
run: | | |
git fetch origin main | |
common_ancestor=$(git merge-base "${{ github.sha }}" origin/main) | |
echo "COMMIT_HASH=$common_ancestor" >> "$GITHUB_ENV" | |
- name: Clean up deleted files | |
run: | | |
DELETED_FILES=$(git diff --name-only --diff-filter=D "$COMMIT_HASH" "${{ github.sha }}") | |
for file in $DELETED_FILES; do | |
if [ -n "$file" ]; then | |
rm -f "$file" | |
echo "Deleted file: $file" | |
fi | |
done | |
- name: Run performance testing script | |
shell: bash | |
run: | | |
set -e | |
BASELINE_BRANCH=${BASELINE_BRANCH:="main"} | |
git fetch origin "$BASELINE_BRANCH" --no-tags --depth=1 | |
git switch "$BASELINE_BRANCH" | |
npm install --force | |
npx reassure --baseline | |
git switch --force --detach - | |
git merge --no-commit --allow-unrelated-histories "$BASELINE_BRANCH" -X ours | |
git checkout --ours . | |
npm install --force | |
npx reassure --branch | |
- name: Validate output.json | |
id: validateReassureOutput | |
uses: ./.github/actions/javascript/validateReassureOutput | |
with: | |
DURATION_DEVIATION_PERCENTAGE: 20 | |
COUNT_DEVIATION: 0 | |
- name: Get and save graphite string | |
# run only when merged to main | |
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main' | |
id: saveGraphiteString | |
uses: ./.github/actions/javascript/getGraphiteString | |
- name: Send graphite data | |
# run only when merged to main | |
if: github.event.pull_request.merged == true && github.event.pull_request.base.ref == 'main' | |
run: echo -e "${{ steps.saveGraphiteString.outputs.GRAPHITE_STRING }}" | nc -q0 stats.expensify.com 3003 |