chore: update versions #788
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: Skott Continuous Integration | |
on: | |
push: | |
branches: main | |
pull_request: | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
skott: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
node-version: [18.x, 20.x] | |
os: [ubuntu-latest, windows-latest, macos-14] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Enable pnpm | |
run: corepack enable | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
shell: bash | |
run: | | |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT | |
- uses: actions/cache@v3 | |
name: Setup pnpm cache | |
with: | |
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- name: Install dependencies | |
run: pnpm install | |
- name: Build project | |
run: pnpm -r build | |
- name: Run tests | |
run: pnpm -r test | |
env: | |
CI: true | |
- name: Run benchmarks | |
if: matrix.os == 'ubuntu-latest' && !contains(github.ref, 'main') && !contains(github.ref, 'release') | |
run: | | |
git stash | |
git config --local user.name "skott_bot" | |
git config --local user.email "[email protected]" | |
git fetch origin | |
git pull origin ${{ github.head_ref }} --rebase | |
pnpm -r benchmark | |
git status | |
git add . | |
git commit -m "benchmark: publish benchmark results from node_${{ matrix.node-version }}" | |
git pull origin ${{ github.head_ref }} --rebase | |
if git diff --quiet; then | |
echo "No conflicts, proceeding with the push." | |
else | |
git checkout --theirs . | |
git add . | |
git rebase --continue | |
fi | |
git push origin HEAD:${{ github.head_ref }} | |
env: | |
CI: true | |
NODE_VERSION: ${{ matrix.node-version }} | |