Skip to content

fix: integers for PG15 #227

fix: integers for PG15

fix: integers for PG15 #227

Workflow file for this run

name: CI πŸš€
on:
pull_request:
types: [opened, synchronize, reopened]
push:
workflow_dispatch:
jobs:
build-wasm:
name: Build WASM ${{ matrix.package }} πŸ”§
runs-on: ubuntu-latest
strategy:
matrix:
package:
- { name: 'full', path: 'full', version: '17' }
- { name: 'v13', path: 'versions/13', version: '13' }
- { name: 'v14', path: 'versions/14', version: '14' }
- { name: 'v15', path: 'versions/15', version: '15' }
- { name: 'v16', path: 'versions/16', version: '16' }
- { name: 'v17', path: 'versions/17', version: '17' }
fail-fast: false
steps:
- name: Checkout Repository πŸ“₯
uses: actions/checkout@v4
- name: Setup Node.js 🌐
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Setup pnpm πŸ“¦
uses: pnpm/action-setup@v2
with:
version: 8.15.1
- name: Get pnpm store directory πŸ“
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache πŸ—„οΈ
uses: actions/cache@v3
with:
path: ${{ env.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 WASM πŸ—
run: |
if [ "${{ matrix.package.name }}" = "v13" ]; then
# Download prebuilt WASM for v13 since it can't build in CI
mkdir -p wasm
curl -o v13.tgz "https://registry.npmjs.org/@libpg-query/v13/-/v13-13.5.7.tgz"
tar -xzf v13.tgz --strip-components=1 package/wasm
rm v13.tgz
else
pnpm run build
fi
working-directory: ${{ matrix.package.path }}
- name: Upload WASM Artifacts πŸ“¦
uses: actions/upload-artifact@v4
with:
name: wasm-artifacts-${{ matrix.package.name }}
path: ${{ matrix.package.path }}/wasm/
retention-days: 1
test:
name: Test ${{ matrix.package.name }} on ${{ matrix.os }} ${{ matrix.os == 'ubuntu-latest' && '🐧' || matrix.os == 'macos-latest' && '🍎' || 'πŸͺŸ' }}
needs: build-wasm
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
package:
- { name: 'full', path: 'full', version: '17' }
- { name: 'v13', path: 'versions/13', version: '13' }
- { name: 'v14', path: 'versions/14', version: '14' }
- { name: 'v15', path: 'versions/15', version: '15' }
- { name: 'v16', path: 'versions/16', version: '16' }
- { name: 'v17', path: 'versions/17', version: '17' }
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository πŸ“₯
uses: actions/checkout@v4
- name: Setup Node.js 🌐
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Setup pnpm πŸ“¦
uses: pnpm/action-setup@v2
with:
version: 8.15.1
- name: Get pnpm store directory πŸ“
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache πŸ—„οΈ
uses: actions/cache@v3
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install Dependencies 🧢
run: pnpm install
- name: Download WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-${{ matrix.package.name }}
path: ${{ matrix.package.path }}/wasm/
- name: Run Tests πŸ”
run: pnpm run test
working-directory: ${{ matrix.package.path }}
build-parser:
name: Build Parser Package πŸ“¦
needs: build-wasm
runs-on: ubuntu-latest
steps:
- name: Checkout Repository πŸ“₯
uses: actions/checkout@v4
- name: Setup Node.js 🌐
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Setup pnpm πŸ“¦
uses: pnpm/action-setup@v2
with:
version: 8.15.1
- name: Get pnpm store directory πŸ“
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache πŸ—„οΈ
uses: actions/cache@v3
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install Dependencies 🧢
run: pnpm install
- name: Install Parser Dependencies πŸ“¦
run: pnpm install
working-directory: parser
- name: Download v13 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v13
path: versions/13/wasm/
- name: Download v14 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v14
path: versions/14/wasm/
- name: Download v15 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v15
path: versions/15/wasm/
- name: Download v16 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v16
path: versions/16/wasm/
- name: Download v17 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v17
path: versions/17/wasm/
- name: Build Types Packages πŸ—
run: |
for version in 13 14 15 16 17; do
echo "Building types for v${version}..."
cd types/${version}
pnpm run build
cd ../..
done
- name: Build Parser πŸ—
run: pnpm run build
working-directory: parser
- name: Upload Parser Artifacts πŸ“¦
uses: actions/upload-artifact@v4
with:
name: parser-artifacts
path: parser/wasm/
retention-days: 1
test-parser:
name: Test Parser on ${{ matrix.os }} ${{ matrix.os == 'ubuntu-latest' && '🐧' || matrix.os == 'macos-latest' && '🍎' || 'πŸͺŸ' }}
needs: build-parser
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
fail-fast: false
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository πŸ“₯
uses: actions/checkout@v4
- name: Setup Node.js 🌐
uses: actions/setup-node@v4
with:
node-version: '20.x'
- name: Setup pnpm πŸ“¦
uses: pnpm/action-setup@v2
with:
version: 8.15.1
- name: Get pnpm store directory πŸ“
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- name: Setup pnpm cache πŸ—„οΈ
uses: actions/cache@v3
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
- name: Install Dependencies 🧢
run: pnpm install
- name: Install Parser Dependencies πŸ“¦
run: pnpm install
working-directory: parser
- name: Download v13 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v13
path: versions/13/wasm/
- name: Download v14 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v14
path: versions/14/wasm/
- name: Download v15 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v15
path: versions/15/wasm/
- name: Download v16 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v16
path: versions/16/wasm/
- name: Download v17 WASM Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: wasm-artifacts-v17
path: versions/17/wasm/
- name: Download Parser Artifacts πŸ“₯
uses: actions/download-artifact@v4
with:
name: parser-artifacts
path: parser/wasm/
- name: Run Parser Tests πŸ”
run: pnpm run test
working-directory: parser