Skip to content

Commit bce69f9

Browse files
committed
Merge branch 'main' into interpolate-lexer
2 parents ba6d469 + a09d0b8 commit bce69f9

File tree

429 files changed

+8929
-5813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

429 files changed

+8929
-5813
lines changed

.config/.markdown-link-check-all.json

+25-9
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,4 @@
11
{
2-
"httpHeaders": [
3-
{
4-
"headers": {
5-
"Accept": "text/html"
6-
},
7-
"urls": ["https://crates.io"]
8-
}
9-
],
102
"ignorePatterns": [
113
{
124
"pattern": "^https://twitter.com"
@@ -16,6 +8,30 @@
168
},
179
{
1810
"pattern": "^https://www.php.net"
11+
},
12+
{
13+
"pattern": "^https://github.com.*container",
14+
"_comment": "`https://github.com/PRQL/prql/pkgs/container/` seems to fail extremely frequently from CI, more so than other GitHub links. So ignoring."
15+
}
16+
],
17+
"httpHeaders": [
18+
{
19+
"headers": {
20+
"Accept": "text/html"
21+
},
22+
"urls": ["https://crates.io"]
23+
},
24+
{
25+
"_comment": "https://github.com/tcort/markdown-link-check/issues/109#issuecomment-1212575985",
26+
"urls": [""],
27+
"headers": {
28+
"Accept-Encoding": "zstd;q=1, br;q=0.9, gzip;q=0.8, deflate;q=0.7, compress;q=0.6, *;q=0.1, identity;q=0"
29+
}
1930
}
20-
]
31+
],
32+
"_comment": "These four attempt to reduce CI failures; but low confidence on whether they're optimal",
33+
"timeout": "20s",
34+
"retryOn429": true,
35+
"retryCount": 5,
36+
"fallbackRetryDelay": "30s"
2137
}

.config/.markdown-link-check-local.json

+25-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,30 @@
55
"_comment_2": "If some third-party website breaks a link, we cover that in ./.markdown-link-check-all.json",
66
"_comment_3": "So this excludes anything that's not a relative link to a file in our repo or a link to our file on the web.",
77
"pattern": "^(?!https://github\\.com/(PRQL|prql)|https://prql-lang\\.org|https://raw\\.githubusercontent\\.com/(PRQL|prql)|[./]+|file://).*$"
8+
},
9+
{
10+
"_comment": "`https://github.com/PRQL/prql/pkgs/container/` seems to fail extremely frequently from CI, more so than other GitHub links. So ignoring.",
11+
"pattern": "^https://github.com/PRQL/prql/pkgs/container"
12+
}
13+
],
14+
"httpHeaders": [
15+
{
16+
"headers": {
17+
"Accept": "text/html"
18+
},
19+
"urls": ["https://crates.io"]
20+
},
21+
{
22+
"_comment": "https://github.com/tcort/markdown-link-check/issues/109#issuecomment-1212575985",
23+
"urls": [""],
24+
"headers": {
25+
"Accept-Encoding": "zstd;q=1, br;q=0.9, gzip;q=0.8, deflate;q=0.7, compress;q=0.6, *;q=0.1, identity;q=0"
26+
}
827
}
9-
]
28+
],
29+
"_comment": "These four attempt to reduce CI failures; but low confidence on whether they're optimal",
30+
"timeout": "20s",
31+
"retryOn429": true,
32+
"retryCount": 5,
33+
"fallbackRetryDelay": "30s"
1034
}

.devcontainer/devcontainer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
// Dev Container for Rust, website, prql-js and prql-python
1+
// Dev Container for Rust, website, prql-js and prqlc-python
22
{
33
"image": "ghcr.io/prql/prql-devcontainer-base:latest",
44
"features": {
55
"ghcr.io/devcontainers/features/hugo:1": {},
66
"ghcr.io/devcontainers/features/python:1": {},
77
"ghcr.io/devcontainers/features/node:1": {},
88
"ghcr.io/eitsupi/devcontainer-features/go-task:1": {},
9-
"ghcr.io/eitsupi/devcontainer-features/jq-likes:1": {
9+
"ghcr.io/eitsupi/devcontainer-features/jq-likes:2": {
1010
"yqVersion": "latest",
1111
},
1212
"ghcr.io/eitsupi/devcontainer-features/duckdb-cli:1": {},

.github/CODE_OF_CONDUCT.md

+14-125
Original file line numberDiff line numberDiff line change
@@ -1,132 +1,21 @@
1-
# Contributor Covenant Code of Conduct
1+
# Code of Conduct
22

3-
## Our Pledge
3+
We prefer keeping our rules as short as possible and filling the gaps with the
4+
mortar of human interaction: empathy.
45

5-
We as members, contributors, and leaders pledge to make participation in our
6-
community a harassment-free experience for everyone, regardless of age, body
7-
size, visible or invisible disability, ethnicity, sex characteristics, gender
8-
identity and expression, level of experience, education, socio-economic status,
9-
nationality, personal appearance, race, caste, color, religion, or sexual
10-
identity and orientation.
6+
All we ask of members of this project is this:
117

12-
We pledge to act and interact in ways that contribute to an open, welcoming,
13-
diverse, inclusive, and healthy community.
8+
- Please treat each other with respect and understanding.
9+
- Please respect our wish to not serve as a stage for disputes about fairness or
10+
personal differences.
1411

15-
## Our Standards
12+
If you can agree to these conditions, your contributions are welcome. If you can
13+
not, please don’t spoil it for the rest of us.
1614

17-
Examples of behavior that contributes to a positive environment for our
18-
community include:
15+
To report a violation of these rules, please email
16+
[[email protected]](mailto:[email protected]) or contact one of the
17+
[project maintainers](https://github.com/orgs/PRQL/people).
1918

20-
- Demonstrating empathy and kindness toward other people
21-
- Being respectful of differing opinions, viewpoints, and experiences
22-
- Giving and gracefully accepting constructive feedback
23-
- Accepting responsibility and apologizing to those affected by our mistakes,
24-
and learning from the experience
25-
- Focusing on what is best not just for us as individuals, but for the overall
26-
community
19+
---
2720

28-
Examples of unacceptable behavior include:
29-
30-
- The use of sexualized language or imagery, and sexual attention or advances of
31-
any kind
32-
- Trolling, insulting or derogatory comments, and personal or political attacks
33-
- Public or private harassment
34-
- Publishing others' private information, such as a physical or email address,
35-
without their explicit permission
36-
- Other conduct which could reasonably be considered inappropriate in a
37-
professional setting
38-
39-
## Enforcement Responsibilities
40-
41-
Community leaders are responsible for clarifying and enforcing our standards of
42-
acceptable behavior and will take appropriate and fair corrective action in
43-
response to any behavior that they deem inappropriate, threatening, offensive,
44-
or harmful.
45-
46-
Community leaders have the right and responsibility to remove, edit, or reject
47-
comments, commits, code, wiki edits, issues, and other contributions that are
48-
not aligned to this Code of Conduct, and will communicate reasons for moderation
49-
decisions when appropriate.
50-
51-
## Scope
52-
53-
This Code of Conduct applies within all community spaces, and also applies when
54-
an individual is officially representing the community in public spaces.
55-
Examples of representing our community include using an official e-mail address,
56-
posting via an official social media account, or acting as an appointed
57-
representative at an online or offline event.
58-
59-
## Enforcement
60-
61-
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62-
reported to the community leaders responsible for enforcement at prql GitHub
63-
organization or associated Discord server. All complaints will be reviewed and
64-
investigated promptly and fairly.
65-
66-
All community leaders are obligated to respect the privacy and security of the
67-
reporter of any incident.
68-
69-
## Enforcement Guidelines
70-
71-
Community leaders will follow these Community Impact Guidelines in determining
72-
the consequences for any action they deem in violation of this Code of Conduct:
73-
74-
### 1. Correction
75-
76-
**Community Impact**: Use of inappropriate language or other behavior deemed
77-
unprofessional or unwelcome in the community.
78-
79-
**Consequence**: A private, written warning from community leaders, providing
80-
clarity around the nature of the violation and an explanation of why the
81-
behavior was inappropriate. A public apology may be requested.
82-
83-
### 2. Warning
84-
85-
**Community Impact**: A violation through a single incident or series of
86-
actions.
87-
88-
**Consequence**: A warning with consequences for continued behavior. No
89-
interaction with the people involved, including unsolicited interaction with
90-
those enforcing the Code of Conduct, for a specified period of time. This
91-
includes avoiding interactions in community spaces as well as external channels
92-
like social media. Violating these terms may lead to a temporary or permanent
93-
ban.
94-
95-
### 3. Temporary Ban
96-
97-
**Community Impact**: A serious violation of community standards, including
98-
sustained inappropriate behavior.
99-
100-
**Consequence**: A temporary ban from any sort of interaction or public
101-
communication with the community for a specified period of time. No public or
102-
private interaction with the people involved, including unsolicited interaction
103-
with those enforcing the Code of Conduct, is allowed during this period.
104-
Violating these terms may lead to a permanent ban.
105-
106-
### 4. Permanent Ban
107-
108-
**Community Impact**: Demonstrating a pattern of violation of community
109-
standards, including sustained inappropriate behavior, harassment of an
110-
individual, or aggression toward or disparagement of classes of individuals.
111-
112-
**Consequence**: A permanent ban from any sort of public interaction within the
113-
community.
114-
115-
## Attribution
116-
117-
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118-
version 2.1, available at
119-
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
120-
121-
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122-
enforcement ladder][mozilla coc].
123-
124-
For answers to common questions about this code of conduct, see the FAQ at
125-
[https://www.contributor-covenant.org/faq][faq]. Translations are available at
126-
[https://www.contributor-covenant.org/translations][translations].
127-
128-
[homepage]: https://www.contributor-covenant.org
129-
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
130-
[mozilla coc]: https://github.com/mozilla/diversity
131-
[faq]: https://www.contributor-covenant.org/faq
132-
[translations]: https://www.contributor-covenant.org/translations
21+
(based on <https://jan-krueger.net/mincoc/>)

.github/actions/build-prqlc/action.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ runs:
4545
4646
- if: runner.os == 'Windows' && inputs.profile == 'release'
4747
shell: bash
48-
run: |
49-
echo 'RUSTFLAGS=-Ctarget-feature=+crt-static' >>"$GITHUB_ENV"
48+
run: echo 'RUSTFLAGS=-Ctarget-feature=+crt-static' >>"$GITHUB_ENV"
5049

5150
- if: inputs.target == 'aarch64-unknown-linux-musl'
5251
shell: bash
@@ -78,9 +77,10 @@ runs:
7877
run: |
7978
export ARTIFACT_NAME="prqlc-v${{ github.ref_type == 'tag' && github.ref_name || 0 }}-${{ matrix.target }}.tar.gz"
8079
echo "ARTIFACT_NAME=${ARTIFACT_NAME}" >>"$GITHUB_ENV"
81-
cd target/${{ matrix.target }}/${{ inputs.profile == 'release' && 'release' || 'debug' }}
82-
cp ../../../prqlc/prqlc/README.md .
83-
tar czf "../../../${ARTIFACT_NAME}" prqlc ../../../LICENSE README.md
80+
TEMP_DIR=$(mktemp -d)
81+
cp prqlc/prqlc/README.md LICENSE "${TEMP_DIR}/"
82+
cp -r target/${{ matrix.target }}/${{ inputs.profile == 'release' && 'release' || 'debug' }}/prqlc "${TEMP_DIR}/"
83+
tar czf "${ARTIFACT_NAME}" -C "$TEMP_DIR" .
8484
8585
- name: Create artifact for Windows
8686
shell: bash
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,53 @@
11
name: build-wheel
2-
description:
3-
"Use maturin to build python dists of prql-python. Conditional `if` checks
4-
ensure only the correct OS build is called."
2+
description: "Use maturin to build python dists."
53
inputs:
64
target:
75
description: Build target, or 'source' for source distribution
86
required: false
7+
package:
8+
description: Package name
9+
required: true
910

1011
runs:
1112
using: composite
1213
steps:
14+
- id: package-path
15+
run:
16+
echo "package_path=$(cargo metadata --no-deps --format-version 1 | jq -r
17+
--arg package_name ${{ inputs.package }} '.packages[] | select(.name ==
18+
$package_name) | .manifest_path')" >>"$GITHUB_OUTPUT"
19+
shell: bash
1320
# There's benefit from caching here, because the maturin action uses a container.
1421
- uses: PyO3/maturin-action@v1
1522
if: inputs.target == 'source'
1623
with:
1724
command: sdist
18-
args: -o target/python -m prqlc/bindings/python/Cargo.toml
25+
args: -o target/python -m ${{steps.package-path.outputs.package_path}}
1926
- uses: PyO3/maturin-action@v1
2027
if: runner.os == 'Linux' && inputs.target != 'source'
2128
with:
2229
target: ${{ inputs.target }}
2330
manylinux: auto
2431
command: build
25-
args: --release -o target/python -m prqlc/bindings/python/Cargo.toml
32+
args:
33+
--release -o target/python -m
34+
${{steps.package-path.outputs.package_path}}
2635
- uses: PyO3/maturin-action@v1
2736
if: runner.os == 'Windows' && inputs.target != 'source'
2837
with:
2938
command: build
30-
args: --release -o target/python -m prqlc/bindings/python/Cargo.toml
39+
args:
40+
--release -o target/python -m
41+
${{steps.package-path.outputs.package_path}}
3142
- uses: PyO3/maturin-action@v1
3243
if: runner.os == 'macOS' && inputs.target != 'source'
3344
with:
3445
command: build
3546
args:
3647
--release -o target/python --target universal2-apple-darwin -m
37-
prqlc/bindings/python/Cargo.toml
48+
${{steps.package-path.outputs.package_path}}
3849
- name: Upload wheels
3950
uses: actions/upload-artifact@v3
4051
with:
41-
name: wheels
52+
name: ${{ inputs.package }}-wheels
4253
path: target/python

.github/dependabot.yml

+7-2
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ updates:
5050
commit-message:
5151
prefix: "chore: "
5252

53-
- directory: ".github/actions/build-prql-python"
53+
- directory: ".github/actions/build-python"
5454
commit-message:
5555
prefix: "chore: "
5656
package-ecosystem: "github-actions"
@@ -72,7 +72,7 @@ updates:
7272
interval: "daily"
7373

7474
- package-ecosystem: pip
75-
directory: "prqlc/bindings/python"
75+
directory: "prqlc/bindings/prqlc-python"
7676
schedule:
7777
interval: daily
7878
commit-message:
@@ -81,3 +81,8 @@ updates:
8181
- dependency-name: "*"
8282
update-types:
8383
- version-update:semver-patch
84+
85+
- package-ecosystem: "devcontainers"
86+
directory: "/"
87+
schedule:
88+
interval: daily

.github/workflows/build-web.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -27,17 +27,17 @@ jobs:
2727
- name: Setup Hugo
2828
uses: peaceiris/[email protected]
2929

30-
- uses: baptiste0928/cargo-install@v2
30+
- uses: baptiste0928/cargo-install@v3
3131
with:
3232
crate: mdbook
33-
- uses: baptiste0928/cargo-install@v2
33+
- uses: baptiste0928/cargo-install@v3
3434
with:
3535
crate: mdbook-footnote
36-
- uses: baptiste0928/cargo-install@v2
36+
- uses: baptiste0928/cargo-install@v3
3737
with:
3838
crate: mdbook-admonish
3939

40-
- uses: baptiste0928/cargo-install@v2
40+
- uses: baptiste0928/cargo-install@v3
4141
with:
4242
crate: wasm-pack
4343

@@ -59,7 +59,7 @@ jobs:
5959
${{ github.ref == 'refs/heads/web' || github.ref ==
6060
'refs/heads/main' }}
6161

62-
- uses: arduino/setup-task@v1
62+
- uses: arduino/setup-task@v2
6363
with:
6464
repo-token: "${{ secrets.GITHUB_TOKEN }}"
6565

0 commit comments

Comments
 (0)