Skip to content

Commit ff3881e

Browse files
committed
Initial commit
0 parents  commit ff3881e

409 files changed

Lines changed: 158541 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Bug report
2+
description: Create a bug report to help us improve QuestDB
3+
labels: [ bug ]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for reporting the bug.
9+
❗ Please provide all the required information to receive faster responses from the maintainers.
10+
- type: textarea
11+
attributes:
12+
label: To reproduce
13+
description: Steps to reproduce this behavior.
14+
placeholder: |
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Run this SQL '....'
18+
4. See error
19+
validations:
20+
required: true
21+
22+
- type: input
23+
attributes:
24+
label: "QuestDB version:"
25+
placeholder: e.g., 7.3.5
26+
validations:
27+
required: true
28+
- type: input
29+
attributes:
30+
label: "OS, in case of Docker specify Docker and the Host OS:"
31+
placeholder: e.g., Ubuntu 22.04 (Docker)
32+
validations:
33+
required: true
34+
- type: input
35+
attributes:
36+
label: "File System, in case of Docker specify Host File System:"
37+
placeholder: e.g., ext4
38+
validations:
39+
required: true
40+
- type: markdown
41+
attributes:
42+
value: "# Identity Disclosure:"
43+
- type: input
44+
attributes:
45+
label: "Full Name:"
46+
placeholder: e.g., John Doe
47+
validations:
48+
required: true
49+
- type: input
50+
attributes:
51+
label: "Affiliation:"
52+
placeholder: e.g., Oracle
53+
validations:
54+
required: true
55+
- type: markdown
56+
attributes:
57+
value: |
58+
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.
59+
- type: checkboxes
60+
attributes:
61+
label: "Have you followed Linux, MacOs kernel configuration steps to increase Maximum open files and Maximum virtual memory areas limit?"
62+
options:
63+
- label: Yes, I have
64+
required: true
65+
- type: markdown
66+
attributes:
67+
value: |
68+
[OS configuration](https://questdb.io/docs/deployment/capacity-planning/#os-configuration)
69+
- type: textarea
70+
attributes:
71+
label: Additional context
72+
description: |
73+
Please add screenshots, logs files, links, or details that provide context about the issue.
74+
75+
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
76+
validations:
77+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Stack Overflow Community
4+
url: https://stackoverflow.com/questions/tagged/questdb
5+
about: Ask Stack Overflow community or search for popular solutions.
6+
- name: Community on Slack
7+
url: https://slack.questdb.io
8+
about: Ask generic questions or meet other developers who are building with QuestDB.
9+
- name: Documentation
10+
url: https://github.com/questdb/documentation
11+
about: Our documentation files are hosted separately. Please contribute issues and PRs in the documentation repo.
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Feature request
2+
description: Suggest an idea for this project
3+
labels: New feature
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to request a feature for QuestDB!
9+
- type: textarea
10+
attributes:
11+
label: Is your feature request related to a problem?
12+
description:
13+
A concise description of the problem you are facing or the motivation
14+
behind this feature request.
15+
placeholder: |
16+
I experienced difficulties with...
17+
validations:
18+
required: true
19+
- type: textarea
20+
attributes:
21+
label: Describe the solution you'd like.
22+
description: A concise description of what you want to happen.
23+
placeholder: |
24+
I would like to have...
25+
validations:
26+
required: false
27+
- type: textarea
28+
attributes:
29+
label: Describe alternatives you've considered.
30+
description: Is there another approach to solve the problem?
31+
validations:
32+
required: false
33+
- type: markdown
34+
attributes:
35+
value: "# Identity Disclosure:"
36+
- type: input
37+
attributes:
38+
label: "Full Name:"
39+
placeholder: e.g., John Doe
40+
validations:
41+
required: true
42+
- type: input
43+
attributes:
44+
label: "Affiliation:"
45+
placeholder: e.g., Oracle
46+
validations:
47+
required: true
48+
- type: markdown
49+
attributes:
50+
value: |
51+
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.
52+
53+
- type: textarea
54+
attributes:
55+
label: Additional context
56+
description: |
57+
Please add screenshots, logs files, links, or details that provide context about the issue.
58+
59+
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
60+
validations:
61+
required: false

.github/workflows/danger.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Danger
2+
3+
on:
4+
pull_request:
5+
types: [ synchronize, opened, reopened, edited ]
6+
7+
jobs:
8+
build:
9+
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} # Only run on non-forked PRs
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@master
13+
- name: Use Node.js 22.x
14+
uses: actions/setup-node@master
15+
with:
16+
node-version: 22.x
17+
- name: install danger
18+
run: yarn global add danger
19+
- name: Validate PR title validation rules
20+
working-directory: ./ci/validate-pr-title
21+
run: node validate.test.js
22+
- name: Danger
23+
run: danger ci
24+
working-directory: ./ci/validate-pr-title
25+
env:
26+
DANGER_GITHUB_API_TOKEN: ${{ secrets.DANGER_GITHUB_TOKEN }}
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
name: GLIBC Smoke Test
2+
# Testing GLIBC compatibility
3+
4+
on:
5+
pull_request:
6+
types: [ synchronize, opened, reopened, edited ]
7+
paths:
8+
- 'core/src/main/resources/io/questdb/bin/**'
9+
- './core/src/main/bin/**'
10+
workflow_dispatch:
11+
12+
jobs:
13+
amd64:
14+
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} # Only run on non-forked PRs
15+
runs-on: ubuntu-22.04
16+
container:
17+
# Use Amazon Linux 2 image - uses GLIBC 2.26
18+
image: amazonlinux:2
19+
volumes:
20+
- /node20217:/node20217
21+
- /node20217:/__e/node20
22+
steps:
23+
- name: Install dependencies
24+
run: yum install -y curl git tar gunzip xz wget
25+
- name: Print GLIBC version
26+
run: ldd --version
27+
- name: Install Node.js 20 glibc2.17
28+
# A hack to override default nodejs 20 to a build compatible with older glibc.
29+
# Inspired by https://github.com/pytorch/test-infra/pull/5959 If it's good for pytorch, it's good for us too! :)
30+
# Q: Why do we need this hack at all? A: Because many github actions, include action/checkout@v4, depend on nodejs 20.
31+
# GitHub Actions runner provides a build of nodejs 20 that requires a newer glibc than Amazon Linux 2 has.
32+
# Thus we download a build of nodejs 20 that is compatible with Amazon Linux 2 and override the default one.
33+
run: |
34+
curl -LO https://unofficial-builds.nodejs.org/download/release/v20.9.0/node-v20.9.0-linux-x64-glibc-217.tar.xz
35+
tar -xf node-v20.9.0-linux-x64-glibc-217.tar.xz --strip-components 1 -C /node20217
36+
ldd /__e/node20/bin/node
37+
- uses: actions/checkout@v4
38+
- uses: actions/setup-java@v4
39+
with:
40+
distribution: 'temurin'
41+
java-version: '17'
42+
cache: 'maven'
43+
- name: Install Apache Maven
44+
# Amazon Linux 2 has too old version of Maven, so we need to install a newer one
45+
run: |
46+
wget https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.tar.gz
47+
tar xf apache-maven-3.9.6-bin.tar.gz -C /opt
48+
ln -sf /opt/apache-maven-3.9.6 /opt/maven
49+
echo "MAVEN_HOME=/opt/maven" >> $GITHUB_ENV
50+
echo "PATH=/opt/maven/bin:$PATH" >> $GITHUB_ENV
51+
- name: Build distribution
52+
run: /opt/maven/bin/mvn -B clean install -Dmaven.test.skip=true -Pbuild-binaries -pl 'core'
53+
env:
54+
MAVEN_OPTS: "-XX:+UseParallelGC"
55+
- name: Unpack distribution
56+
run: tar -xzf core/target/questdb-*-no-jre-bin.tar.gz
57+
- name: Start QuestDB
58+
run: ./questdb-*bin/questdb.sh start
59+
- name: Query database with curl
60+
run: |
61+
curl -G --data-urlencode \
62+
"query=SELECT * FROM long_sequence(1)" \
63+
http://localhost:9000/exp
64+
- name: Upload logs
65+
if: failure() # Only upload logs if the job failed
66+
uses: actions/upload-artifact@v4
67+
with:
68+
path: ~/.questdb/log/*
69+
name: logs
70+
retention-days: 5
71+
aarch64:
72+
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} # Only run on non-forked PRs
73+
runs-on: ubuntu-22.04-arm
74+
container:
75+
# Use AlmaLinux 8 image - uses GLIBC 2.28
76+
image: almalinux:8
77+
steps:
78+
- name: Install dependencies
79+
run: dnf install -y curl zip unzip git bash wget
80+
- name: Print GLIBC version
81+
run: ldd --version
82+
- name: Install Maven - the version in AlmaLinux 8 is too old
83+
run: |
84+
cd /opt
85+
wget https://archive.apache.org/dist/maven/maven-3/3.9.9/binaries/apache-maven-3.9.9-bin.zip
86+
unzip apache-maven-3.9.9-bin.zip
87+
ln -s /opt/apache-maven-3.9.9 /opt/maven
88+
echo "MAVEN_HOME=/opt/maven" >> $GITHUB_ENV
89+
echo "/opt/maven/bin" >> $GITHUB_PATH
90+
- uses: actions/checkout@v4
91+
- uses: actions/setup-java@v4
92+
with:
93+
distribution: 'temurin'
94+
java-version: '17'
95+
cache: 'maven'
96+
- name: Build distribution
97+
run: mvn -B clean install -Dmaven.test.skip=true -Pbuild-binaries -pl '!benchmarks'
98+
env:
99+
MAVEN_OPTS: "-XX:+UseParallelGC"
100+
- name: Unpack distribution
101+
run: tar -xzf core/target/questdb-*-no-jre-bin.tar.gz
102+
- name: Start QuestDB
103+
run: ./questdb-*bin/questdb.sh start
104+
- name: Query database with curl
105+
run: |
106+
curl -G --data-urlencode \
107+
"query=SELECT * FROM long_sequence(1)" \
108+
http://localhost:9000/exp
109+
- name: Upload logs
110+
if: failure() # Only upload logs if the job failed
111+
uses: actions/upload-artifact@v4
112+
with:
113+
path: ~/.questdb/log/*
114+
name: logs
115+
retention-days: 5
116+
117+
118+

0 commit comments

Comments
 (0)