meta: upgrade Vite and Vitest #72
Workflow file for this run
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: Compare JS output | |
on: | |
pull_request: | |
# We want all branches so we configure types to be the GH default again | |
types: [opened, synchronize, reopened] | |
paths: | |
- '.github/workflows/output-watcher.yml' | |
- 'bin/build-lib.js' | |
pull_request_target: | |
# We want all branches so we configure types to be the GH default again | |
types: [opened, synchronize, reopened] | |
paths: | |
- 'packages/@uppy/*/src/**/*' | |
permissions: | |
pull-requests: write | |
env: | |
YARN_ENABLE_GLOBAL_CACHE: false | |
DIFF_BUILDER: true | |
jobs: | |
compare_diff: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
ref: refs/pull/${{ github.event.pull_request.number }}/merge | |
- run: git reset HEAD^ --hard | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: | |
echo "dir=$(corepack yarn config get cacheFolder)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: lts/* | |
- name: Install dependencies | |
run: | |
corepack yarn workspaces focus $(corepack yarn workspaces list --json | |
| jq -r .name | awk '/^@uppy-example/{ next } { if ($0!="uppy.io") | |
print $0 }') | |
env: | |
# https://docs.cypress.io/guides/references/advanced-installation#Skipping-installation | |
CYPRESS_INSTALL_BINARY: 0 | |
- run: corepack yarn build:lib | |
- name: Store output file | |
run: tar cf /tmp/previousVersion.tar packages/@uppy/*/lib | |
- name: Fetch source from the PR | |
run: git checkout FETCH_HEAD -- packages | |
- run: corepack yarn build:lib | |
- name: Store output file | |
run: tar cf /tmp/newVersion.tar packages/@uppy/*/lib | |
- name: Setup git | |
run: | | |
git config --global user.email "actions@github.com" | |
git config --global user.name "GitHub Actions" | |
git init /tmp/uppy | |
echo '*.map' > /tmp/uppy/.gitignore | |
- name: Install dformat | |
run: | | |
curl -fsSL https://dprint.dev/install.sh | sh | |
cd /tmp/uppy && echo '{"plugins":[]}' > dprint.json && "$HOME/.dprint/bin/dprint" config add typescript | |
- name: Extract previous version | |
run: cd /tmp/uppy && tar xf /tmp/previousVersion.tar | |
- name: Format previous output code | |
run: cd /tmp/uppy && "$HOME/.dprint/bin/dprint" fmt **/*.js | |
- name: Commit previous version | |
run: cd /tmp/uppy && git add -A . && git commit -m 'previous version' | |
- name: Extract new version | |
run: cd /tmp/uppy && tar xf /tmp/newVersion.tar | |
- name: Format new output code | |
run: cd /tmp/uppy && "$HOME/.dprint/bin/dprint" fmt **/*.js | |
- name: Build diff | |
id: diff | |
run: | | |
EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) | |
echo "OUTPUT_DIFF<<$EOF" >> "$GITHUB_OUTPUT" | |
cd /tmp/uppy && git --no-pager diff >> "$GITHUB_OUTPUT" | |
echo "$EOF" >> "$GITHUB_OUTPUT" | |
- name: Add/update comment | |
uses: marocchino/sticky-pull-request-comment@v2 | |
with: | |
message: | | |
<details><summary>Diff output files</summary> | |
```diff | |
${{ steps.diff.outputs.OUTPUT_DIFF || 'No diff' }} | |
``` | |
</details> |