WIP: split filtering and ordering #147
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] | |
branches-ignore: [staging, production] | |
paths-ignore: [docs/**, help/**, .github/**, contributingGuides/**, 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 "test@test.com" | |
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 || (rm -rf node_modules && npm install --force) | |
NODE_OPTIONS=--experimental-vm-modules npx reassure --baseline | |
git switch --force --detach - | |
git merge --no-commit --allow-unrelated-histories "$BASELINE_BRANCH" -X ours | |
git checkout --ours . | |
npm install --force || (rm -rf node_modules && npm install --force) | |
NODE_OPTIONS=--experimental-vm-modules npx reassure --branch | |
- name: Validate output.json | |
id: validateReassureOutput | |
uses: ./.github/actions/javascript/validateReassureOutput | |
with: | |
DURATION_DEVIATION_PERCENTAGE: 20 | |
COUNT_DEVIATION: 0 |