Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Replace with lakehouse #29

Merged
merged 9 commits into from
Jul 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Order is important. The last matching pattern has the most precedence.

/.cargo/ @philippemnoel @rebasedming
/.github/ @philippemnoel @rebasedming
/assets/ @philippemnoel @rebasedming
/cargo-paradedb/ @neilyio @rebasedming
/src/ @rebasedming @philippemnoel
/tests/ @rebasedming @neilyio
98 changes: 98 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
name: Bug report
description: Create a report to help us improve.
labels:
- bug
body:
- type: markdown
attributes:
value: "### Bug Report"
- type: markdown
attributes:
value: >
Please report security vulnerabilities using GitHub's [report vulnerability form](https://github.com/paradedb/paradedb/security/advisories/new).
- type: textarea
attributes:
label: What happens?
description: A short, clear and concise description of the bug.
validations:
required: true
- type: textarea
attributes:
label: To Reproduce
description: |
Please provide steps to reproduce the behaviour, preferably a [minimal reproducible example](https://en.wikipedia.org/wiki/Minimal_reproducible_example).
validations:
required: true

- type: markdown
attributes:
value: "### Environment"
- type: input
attributes:
label: "OS:"
placeholder: e.g., macOS
description: Please include your operating system version and architecture (e.g., aarch64, x86, x64, etc.)
validations:
required: true
- type: input
attributes:
label: "ParadeDB Version:"
placeholder: e.g., v0.8.0
validations:
required: true
- type: dropdown
attributes:
label: Are you using ParadeDB Docker, Helm, or the extension(s) standalone?
options:
- ParadeDB Docker Image
- ParadeDB Helm Chart
- ParadeDB pg_search Extension
- ParadeDB pg_analytics Extension
validations:
required: true

- type: markdown
attributes:
value: "### Identity Disclosure"
- type: input
attributes:
label: "Full Name:"
placeholder: e.g., John Doe
validations:
required: true
- type: input
attributes:
label: "Affiliation:"
placeholder: e.g., Acme Corporation
validations:
required: true
- type: markdown
attributes:
value: |
If the above is not given and is not obvious from your GitHub profile page, we might close your issue without further review. Please refer to the [reasoning behind this rule](https://berthub.eu/articles/posts/anonymous-help/) if you have questions.

- type: markdown
attributes:
value: "### Confirmation"
- type: dropdown
attributes:
label: Did you include all relevant data sets for reproducing the issue?
options:
- "Yes"
- "No - I cannot share the data sets because they are confidential"
- "No - I cannot easily share my data sets due to their large size"
- "No - Other reason (please specify in the issue body)"
- "N/A - The reproduction does not require a data set"
default: 0
validations:
required: true
- type: checkboxes
attributes:
label: Did you include the code required to reproduce the issue?
options:
- label: Yes, I have
- type: checkboxes
attributes:
label: Did you include all relevant configurations (e.g., CPU architecture, PostgreSQL version, Linux distribution) to reproduce the issue?
options:
- label: Yes, I have
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: GitHub Discussions
url: https://github.com/paradedb/paradedb/discussions
about: Please ask and answer general questions here.
- name: ParadeDB Community Slack
url: https://join.slack.com/t/paradedbcommunity/shared_invite/zt-2lkzdsetw-OiIgbyFeiibd1DG~6wFgTQ
about: Our Slack community is the best place to get quick help and feedback.
51 changes: 51 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Feature request
description: Suggest an idea for this project.
labels:
- feature
body:
- type: markdown
attributes:
value: >
Please report security vulnerabilities using GitHub's [report vulnerability form](https://github.com/paradedb/paradedb/security/advisories/new).

- type: textarea
attributes:
label: What feature are you requesting?
description: A short, clear and concise description of the desired feature.
validations:
required: true

- type: textarea
attributes:
label: Why are you requesting this feature?
description: A short, clear and concise description of why this feature is important.
validations:
required: true

- type: textarea
attributes:
label: What is your proposed implementation for this feature?
description: A short, clear and concise description of how you'd implement this feature.
validations:
required: false

- type: markdown
attributes:
value: "### Identity Disclosure:"
- type: input
attributes:
label: "Full Name:"
placeholder: e.g., John Doe
validations:
required: true
- type: input
attributes:
label: "Affiliation:"
placeholder: e.g., Acme Corporation
validations:
required: true

- type: markdown
attributes:
value: |
If the above is not given and is not obvious from your GitHub profile page, we might close your issue without further review. Please refer to the [reasoning behind this rule](https://berthub.eu/articles/posts/anonymous-help/) if you have questions.
11 changes: 11 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Ticket(s) Closed

- Closes #

## What

## Why

## How

## Tests
64 changes: 64 additions & 0 deletions .github/workflows/lint-format.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# workflows/lint-format.yml
#
# Lint Format
# Lint the project's file trailing spaces, line endings, and format.

name: Lint Format

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
workflow_dispatch:

concurrency:
group: lint-format-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
lint-format:
name: Lint File Endings & Trailing Whitespaces
runs-on: depot-ubuntu-latest-2
if: github.event.pull_request.draft == false

steps:
- name: Checkout Git Repository
uses: actions/checkout@v4

- name: Install fd Search Tool
run: |
sudo apt-get update
sudo apt-get install -y fd-find
mkdir -p "$HOME/.local/bin"
sudo ln -s $(which fdfind) "$HOME/.local/bin/fd"
echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Check for CRLF Files
run: |
FILES=$(git ls-files --eol | grep crlf || true)
if [[ ! -z "$FILES" ]]; then
echo "The following files have incorrect line endings:"
echo "$FILES"
false
fi

# We ignore .out and .sql files, which are used by pg_regress for testing
# and need a very specific format
- name: Check for Trailing Whitespaces
run: |
FILES=$(git grep -Ilr '[[:blank:]]$' -- ':(exclude)*.out' ':(exclude)*.sql' ':(exclude)*.rs' || true)
if [[ ! -z "$FILES" ]]; then
echo "The following files have trailing whitespaces:"
echo "$FILES"
exit 1
fi

- name: Print Modified Files
run: |
FILES=$(git ls-files --modified)
if [[ ! -z "$FILES" ]]; then
echo "The following files have incorrect trailing newlines:"
echo "$FILES"
echo "Please fix them using:"
echo -e 'if [[ -f "$1" ]]; then\n echo -n "$1"\n if (diff /dev/null "$1" || true) | tail -1 | grep -q "^\\ No newline"; then\n echo >> "$1"\n echo "...fixed"\n else\n echo ""\n fi\nfi'
false
fi
41 changes: 41 additions & 0 deletions .github/workflows/lint-markdown.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# workflows/lint-markdown.yml
#
# Lint Markdown
# Lint Markdown files using Prettier.

name: Lint Markdown

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- "**/*.md"
- "**/*.mdx"
- ".github/workflows/lint-markdown.yml"
workflow_dispatch:

concurrency:
group: lint-markdown-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
lint-markdown:
name: Lint Markdown Files
runs-on: depot-ubuntu-latest-2
if: github.event.pull_request.draft == false

steps:
- name: Checkout Git Repository
uses: actions/checkout@v4

- name: Set up NodeJS Environment
uses: actions/setup-node@v4

- name: Install Prettier
run: npm install -g prettier markdownlint-cli

- name: Run Markdown Lint
run: markdownlint '**/*.md'

- name: Run Prettier
run: prettier --check '{**/*.md,**/*.mdx}'
29 changes: 29 additions & 0 deletions .github/workflows/lint-pr-title.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# workflows/lint-pr-title.yml
#
# Lint PR Title
# Lint and enforce proper PR title format.

name: Lint PR Title

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]

permissions:
pull-requests: read

concurrency:
group: lint-pr-title-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
lint-pr-title:
name: Validate PR Title
runs-on: depot-ubuntu-latest-2
if: github.event.pull_request.draft == false

steps:
- name: Checkout Git Repository
uses: amannn/action-semantic-pull-request@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49 changes: 49 additions & 0 deletions .github/workflows/lint-rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# workflows/lint-rust.yml
#
# Lint Rust
# Lint Rust files using Clippy and Rustfmt.

name: Lint Rust

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
paths:
- "**/*.rs"
- ".github/workflows/lint-rust.yml"
workflow_dispatch:

concurrency:
group: lint-rust-${{ github.head_ref || github.ref }}
cancel-in-progress: true

jobs:
lint-rust:
name: Lint Rust Files
runs-on: depot-ubuntu-latest-2
if: github.event.pull_request.draft == false
strategy:
matrix:
pg_version: [16]

steps:
- name: Checkout Git Repository
uses: actions/checkout@v4

- name: Install & Configure Supported PostgreSQL Version
run: |
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update && sudo apt-get install -y postgresql-${{ matrix.pg_version }} postgresql-server-dev-${{ matrix.pg_version }}

- name: Install pgrx
run: cargo install --locked cargo-pgrx --version 0.11.3

- name: Initialize pgrx for Current PostgreSQL Version
run: cargo pgrx init --pg${{ matrix.pg_version }}=/usr/lib/postgresql/${{ matrix.pg_version }}/bin/pg_config

- name: Run Rustfmt
run: cargo fmt -- --check

- name: Run Clippy
run: cargo clippy --workspace --all-targets -- -D warnings --no-deps
Loading