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

build: add definitions for devcontainer base image #2025

Merged
merged 2 commits into from
Mar 6, 2023

Conversation

eitsupi
Copy link
Member

@eitsupi eitsupi commented Mar 6, 2023

Split from #1893
Push a Docker image with the time-consuming cargo packages installed to GHCR.

Changes are also included to separate only the install-cargo-tools task in the Taskfile referenced in the Dockerfile into a separate Taskfile, from a Dokcer cache perspective.

@eitsupi eitsupi marked this pull request as draft March 6, 2023 04:43
@eitsupi eitsupi marked this pull request as ready for review March 6, 2023 05:01
@eitsupi eitsupi requested a review from max-sixty March 6, 2023 05:04
@eitsupi
Copy link
Member Author

eitsupi commented Mar 6, 2023

@max-sixty Since the initial (multi-platform) build will take several hours, sorry but I will merge this now without your review.
As always, please revert this if we have problems.

@eitsupi eitsupi merged commit 0d2ff48 into PRQL:main Mar 6, 2023
@eitsupi eitsupi deleted the devcontainer-base branch March 6, 2023 05:31
@max-sixty
Copy link
Member

I will merge this now without your review.

Always feel free!


version: 3

tasks:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No stress at all, but out of interest — any reason to split this out into a different file?

Copy link
Member Author

@eitsupi eitsupi Mar 6, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each time the Taskfile.yml (Files copied into the container at build time) is modified (even a mere modification of a comment, for example), the later layers' cache is invalidated.
By copying files that are less likely to be modified, I believe we can make better use of the cache.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. But the Taskfile doesn't change often — I would lean towards having the repo simpler even if it means running too many workflows. If we did this for everything we'd have many many tiny files and it would be difficult to work with the repo.

If we had a full build system like Bazel, then we could do this, but it's very approximate at best, and so somewhat fruitless to optimize it...

@max-sixty
Copy link
Member

@eitsupi
Copy link
Member Author

eitsupi commented Mar 6, 2023

ICYMI: PRQL/prql/actions/runs/4340298602

Sorry for failing the workflow. I will investigate and fix it......

@max-sixty
Copy link
Member

Sorry for failing the workflow. I will investigate and fix it......

Zero stress, keep merging until it works. It ran on this PR, so possibly it was just flaky on that run?

@eitsupi
Copy link
Member Author

eitsupi commented Mar 6, 2023

Zero stress, keep merging until it works. It ran on this PR, so possibly it was just flaky on that run?

Sorry, I was completely mistaken about the base image. To my surprise, the base image does not support the arm64 platform!

$ docker buildx imagetools inspect mcr.microsoft.com/devcontainers/rust:0.203.7-1
Name:      mcr.microsoft.com/devcontainers/rust:0.203.7-1
MediaType: application/vnd.oci.image.index.v1+json
Digest:    sha256:427f31e3c81cf8189e4a4253c332dac381fe2e0646569634e57d1781d65122c3
           
Manifests: 
  Name:        mcr.microsoft.com/devcontainers/rust:0.203.7-1@sha256:f8a481ea7a30621a1ba07c16fac67fd330f6a25d6d064f8086de70f1f1553264
  MediaType:   application/vnd.oci.image.manifest.v1+json
  Platform:    linux/amd64
               
  Name:        mcr.microsoft.com/devcontainers/rust:0.203.7-1@sha256:62645b8a13342c442cf8c0cdf877f6dc699edb3338ab80e8236ae81674bbcb5f
  MediaType:   application/vnd.oci.image.manifest.v1+json
  Platform:    unknown/unknown
  Annotations: 
    vnd.docker.reference.digest: sha256:f8a481ea7a30621a1ba07c16fac67fd330f6a25d6d064f8086de70f1f1553264
    vnd.docker.reference.type:   attestation-manifest

@max-sixty
Copy link
Member

max-sixty commented Mar 6, 2023

Oh, weird! Do none of the standard Microsoft VSCode images?

@eitsupi
Copy link
Member Author

eitsupi commented Mar 6, 2023

I was completely mistaken, but it seems that the default variant is still buster and the bullseye needs to be explicitly stated.
https://github.com/devcontainers/images/blob/c087e361571e2200c3b40ed86d14a8ced84c388a/src/rust/README.md?plain=1#L13

$ docker buildx imagetools inspect mcr.microsoft.com/devcontainers/rust:0.203.7-1-bullseye
Name:      mcr.microsoft.com/devcontainers/rust:0.203.7-1-bullseye
MediaType: application/vnd.oci.image.index.v1+json
Digest:    sha256:7eb80e1054ba35dd4865e1fb9d9c27f7401b6ba6e406d7fc986e9f7ff9507741
           
Manifests: 
  Name:        mcr.microsoft.com/devcontainers/rust:0.203.7-1-bullseye@sha256:8e0fc0744f644ea9f64c0cebcc3ee87a77035b3af99ddb874bd910541eb5f9e9
  MediaType:   application/vnd.oci.image.manifest.v1+json
  Platform:    linux/amd64
               
  Name:        mcr.microsoft.com/devcontainers/rust:0.203.7-1-bullseye@sha256:21b4d0c618a3dd24b1a37a38ef2cbc150c6dc038b72edbed5227d95780de5661
  MediaType:   application/vnd.oci.image.manifest.v1+json
  Platform:    linux/arm64
               
  Name:        mcr.microsoft.com/devcontainers/rust:0.203.7-1-bullseye@sha256:5b2ef13f21aff24c6999c5d9a2d82c8785ef658b15271bcdf659a95a049deebf
  MediaType:   application/vnd.oci.image.manifest.v1+json
  Platform:    unknown/unknown
  Annotations: 
    vnd.docker.reference.digest: sha256:8e0fc0744f644ea9f64c0cebcc3ee87a77035b3af99ddb874bd910541eb5f9e9
    vnd.docker.reference.type:   attestation-manifest
               
  Name:        mcr.microsoft.com/devcontainers/rust:0.203.7-1-bullseye@sha256:feffae93572a62643ede3aac2130304e3193a50ae7c5f28cd07bfd0277518375
  MediaType:   application/vnd.oci.image.manifest.v1+json
  Platform:    unknown/unknown
  Annotations: 
    vnd.docker.reference.digest: sha256:21b4d0c618a3dd24b1a37a38ef2cbc150c6dc038b72edbed5227d95780de5661
    vnd.docker.reference.type:   attestation-manifest

@eitsupi
Copy link
Member Author

eitsupi commented Mar 6, 2023

Oh, weird! Do none of the standard Microsoft VSCode images?

If I remember correctly, this was due to a bug in OpenSSH OpenSSL, and the buster and ubuntu:focal arm64 images were not built.
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=989604

I mistakenly thought that the default was already moved to bullseye since it has been so long since bullseye was released...

Comment on lines +42 to +50
- id: set-platforms
run: |
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
echo "platforms=linux/amd64,linux/arm64" >>$GITHUB_OUTPUT
echo "push=true" >>$GITHUB_OUTPUT
else
echo "platforms=linux/amd64" >>$GITHUB_OUTPUT
echo "push=false" >>$GITHUB_OUTPUT
fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eitsupi On reflection it's probably simpler to run both architectures on tests, not just amd64. Again — we should be liberal with workflows...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I will fix this.
There is a disadvantage that multi-platform builds can't load images, so we can't run tests on containers, etc., but since we are only doing builds at this point, it shouldn't be a problem.

max-sixty added a commit that referenced this pull request Mar 8, 2023
* chore: Add changelog template for 0.5.3 (#1892)

* feat!: loop (#1642)

* feat: Generate C header file for prql-lib (#1879)

* fix: website tests (#1894)

* feat(prqlc)!: preprocess Jinja templates (#1722)

* docs: Fix "LSP server" (#1896)

Fix "LSP server"

* docs: Added C header file (#1898)

Added C header file

* revert: "feat!: loop" (#1899)

Revert "feat!: loop (#1642)"

This reverts commit c79c5f1.

* revert: #1894 (#1901)

(Possibly fixing would have been easier, sorry if this is creating more work. I do think running all tests is worthwhile with this sort of wide-ranging change...)

* test: Refactor book snapshot tests (#1900)

* tests: Refactor book snapshot tests

Modularizes these tests, potentially in preparation for #1895

* revert: test: Refactor book snapshot tests (#1903)

Revert "test: Refactor book snapshot tests (#1900)"

This reverts commit abc61ff.

* build: Disable prql-elixir on Mac (#1902)

* build: Disable prql-elixir on Mac

A temporary pause on building `prql-elixir` on Mac, as it's causing some build caching issues, as described in the Readme

There are lots of ways to re-enable when we're ready.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* test: Refactor book snapshot tests (#1904)

* test: Refactor book snapshot tests

Re-reverting #1900

* build: use released minijinja (#1906)

* refactor: Options as &Options (#1905)

* refactor: Options as &Options

Not sure if this is worthwhile — I started in one function and then kept on replacing. Fine to close if not an improvement.

* .

* chore: pre-commit autoupdate (#1908)

updates:
- [github.com/charliermarsh/ruff-pre-commit: v0.0.246 → v0.0.248](astral-sh/ruff-pre-commit@v0.0.246...v0.0.248)
- [github.com/pre-commit/mirrors-mypy: v1.0.0 → v1.0.1](pre-commit/mirrors-mypy@v1.0.0...v1.0.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* docs: Add a doc on `prql-elixir` on Mac (#1909)

* docs: Add a doc on `prql-elixir` on Mac

* ci: Run non-core tests through `test-all.yaml` (#1911)

* ci: Run non-core tests through `test-all.yaml`

As pointed out in https://github.com/PRQL/prql/pull/1860/files#r1112279486, we're currently running these tests twice — once because they're in the `test-all.yaml` workflow, which is called on `main` commits, and once because they're called on `main` themselves.

This disables them being called by `main` commits.

It's possible the existing mode is required to generate caches; let's try disabling and assess, though.

* build: Add PHP binding (#1860)

* Update README.md

* Create php.md

* Create .gitignore

* Add files via upload

* Update composer.json

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update composer.json

* Update Compiler.php

* Update prql-php/.gitignore

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Add composer lock file

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Create test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Update composer.json

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update composer.json

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Uncomment unit tests

* Pass test dir as args

* Bootstrap the autoloader

* Build library and copy library file

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Update test-php.yaml

* Add more unit tests

* Update CompilerTest.php

* Update test-php.yaml

* Update CompilerTest.php

* Update test-php.yaml

* Add test-php

* Add concurrency thing

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Remove php-actions/phpunit

* Update .github/workflows/test-php.yaml

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Co-authored-by: Maximilian Roos <m@maxroos.com>

* chore: Add PHP bindings changelog (#1914)

Add PHP bindings

* build: Package prqlc as .deb package (#1883)

* Create create-deb.yaml

* Update create-deb.yaml

* Update create-deb.yaml

* Update create-deb.yaml

* Add build-deb-package job

* Delete create-deb.yaml

* Update .github/workflows/release.yaml

* Update .github/workflows/release.yaml

* Update .github/workflows/release.yaml

---------

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Co-authored-by: Maximilian Roos <m@maxroos.com>

* test: Add `--quiet` to fast-loop taskfile command (#1916)

Otherwise cargo lists the name of every test; very verbose IMO.

* build: Package`prqlc` as Snap (#1881)

* Create snapcraft.yaml

* Update snapcraft.yaml

* Create publish-snap.yaml

* Update publish-snap.yaml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update prql-compiler/snap/snapcraft.yaml

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Update publish-snap.yaml

* Update snapcraft.yaml

* Update and rename prql-compiler/snap/snapcraft.yaml to snap/snapcraft.yaml

* Update publish-snap.yaml

* Update snap/snapcraft.yaml

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Add step to build and publish Snap

* Delete publish-snap.yaml

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* chore: Add changelog for #1883 (#1920)

As requested by @vanillajonathan.

@vanillajonathan one thing we could add for all these is to upload them as artifacts, as an easy way to have them published, using something like #1883 (comment).

It's less permanent than publishing them as release assets, but we can do the artifact upload now without changing our release process.

* chore: Add Snap package changelog (#1921)

* Add Snap package

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* build: Package prqlc as .rpm package (#1918)

* Create create-rpm.yaml

* Update create-rpm.yaml

* Add job for building .rpm package

* Delete create-rpm.yaml

* Update .github/workflows/release.yaml

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Update .github/workflows/release.yaml

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Update release.yaml

* Update .github/workflows/release.yaml

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Update .github/workflows/release.yaml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Co-authored-by: Maximilian Roos <m@maxroos.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat: Add .NET bindings (#1917)

* fix: Return a non-zero exit code for `prqlc compile` errors (#1924)

* fix: Return a non-zero exit code for `prqlc compile` errors

* .

* ci: Add `internal` & `devops` to semantic commit options (#1926)

* ci: Add `internal` & `devops` to semantic commit options

* internal: Enable auto-conversion of anyhow's error to `ErrorMessages` (#1913)

* internal: Implement std::error::Error for ErrorMessages (#1925)

* build: Bump dependencies (#1927)

* docs: Embolden `prqlc` description (#1919)

* revert: "build: Bump dependencies (#1927)" (#1935)

Revert "build: Bump dependencies (#1927)"

This reverts commit 7c317ad.

* devops: Add `web` to semantic commit categories (#1938)

* build: Re-revert #1935 (#1937)

Locked wasm-bindgen, I think because of a wasm-pack problem

* refactor: remove trailing whitespace (#1943)

* build: update prql-lib API (#1941)

* docs: prql-lib docs (#1945)

* fix: Panic with multiple terms after a `from` transform (#1928)

* chore: bump chumsky from 0.8.0 to 0.9.0 (#1723)

* build: Fix .NET bindings (#1946)

* Update CompilerTest.cs

* Update README.md

* Update PrqlCompilerOptions.cs

* Update PrqlCompiler.cs

* test: Disable PHP tests until aligned with `prql-lib` (#1947)

Just to ensure the build stays green as discussed in https://discord.com/channels/936728116712316989/1078360136978022510.

Thanks to @aljazerzen & @vanillajonathan for the changes.

* chore: Add `testng` to typos exclusion (#1948)

Required in #1929 (comment)

* docs: Add a note re reverting (#1952)

* revert: re-revert loop (#1951)

* revert: re-revert loop

Re-reverts #1899 & #1901

* fix book link

* ci: Only cache docker on main branch (#1953)

* revert: #1953 (#1954)

Revert "ci: Only cache docker on main branch (#1953)"

This reverts commit 5a382e7.

* refactor: Improve PHP bindings (#1949)

* chore: bump monaco-editor from 0.35.0 to 0.36.0 in /playground (#1955)

Bumps [monaco-editor](https://github.com/microsoft/monaco-editor) from 0.35.0 to 0.36.0.
- [Release notes](https://github.com/microsoft/monaco-editor/releases)
- [Changelog](https://github.com/microsoft/monaco-editor/blob/main/CHANGELOG.md)
- [Commits](microsoft/monaco-editor@v0.35.0...v0.36.0)

---
updated-dependencies:
- dependency-name: monaco-editor
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* internal: Defer to auto-conversion of some errors (#1931)

Follow-up to #1914

* web: Attempt to default to the SQL view in playground (#1939)

web: Default to the SQL view in playground

* feat: Add a `--format=yaml` option to `prqlc parse` (#1962)

* refactor: Refactor CLI arg handling (#1963)

* feat: Add a `--format=yaml` option to `prqlc parse`

* refactor: Refactor CLI arg handling

Based of #1912

* Update prql-compiler/prqlc/src/cli.rs

Co-authored-by: Aljaž Mur Eržen <aljazerzen@users.noreply.github.com>

* .

---------

Co-authored-by: Aljaž Mur Eržen <aljazerzen@users.noreply.github.com>

* chore: Add changelog for `--format` (#1968)

* chore: pre-commit autoupdate (#1975)

updates:
- [github.com/crate-ci/typos: typos-dict-v0.9.16 → v1.13.12](crate-ci/typos@typos-dict-v0.9.16...v1.13.12)
- [github.com/charliermarsh/ruff-pre-commit: v0.0.248 → v0.0.252](astral-sh/ruff-pre-commit@v0.0.248...v0.0.252)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat: rewrite parser with chumsky (#1818)

* feat: parse and compile params (#1957)

* chore: Remove reference to pest grammar (#1977)

This was causing a build failure on main

* docs: update tree-sitter information (#1976)

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* ci: Move to `baptiste0928/cargo-install` for CI (#1979)

We were getting 404s on the existing action, and this is also faster once it's cached

* test: repro timestamp parsing issue (#1980)

* test: repro timestamp parsing issue

* Update prql-compiler/src/test.rs

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Update prql-compiler/src/test.rs

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

---------

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* chore: Fix typo (#1981)

* chore: Remove extraneous file (#1984)

I must have committed this by mistake

* fix: Attempt to fix the chumsky break on MacOS (#1978)

* fix: Attempt to fix the chumsky break on MacOS

* Re-enable workflows

* Excluding features from macos vs. wasm

* ci: Reset cache (#1986)

* test: Add test for query which blocks on chumsky (#1982)

* test: Add test for query which blocks on chumsky

Based on #1978.

It will block tests, probably until timeout

* Add a very minimal test

* chore: fix typo (#1988)

* refactor: Attempt to replace our `IntoOnly` with `ExactlyOne` (#1915)

* refactor: Attempt to replace our `IntoOnly` with `ExactlyOne`

Since I originally wrote this (and others have iterated on it), Itertools released `ExactlyOne`, which has better errors and reduces our custom code.

Unfortunately, I couldn't fix a rust type error, and spent too long on it already. So pushing what I have in case anyone wants to take a look.

There's also a decent chance that we replace the `parser.rs` code, in which case this type error becomes moot, and we can merge this anyway.

* remove IntoOnly completely - even from public API

* Allow multiple ErrorMessages in prql-python

---------

Co-authored-by: Aljaž Mur Eržen <aljaz.erzen@gmail.com>

* devops: Add `bacon` config file (#1989)

* devops: Add `bacon` config file

I recently discovered `bacon`, which is great (thanks to @snth for the link), and replaces some of the `watchexec` and `task` watch tasks.

This is an initial config file; it'll get some updates as folks use it more. I'll also update `development.md` once I've used it more (unless anyone gets there first...).

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix: Allow no `:` in timezones (#1991)

feat: Allow no `:` in timezones

Fixes issue in #1818

* fix: Fix sqlite datetime output (#1970)

* test: add test case for sqlite datetime

* feat: implement `is` helper for DialectHandler

* fix: use datetime functions for sqlite dialect

* style: fix lint issues

* Update prql-compiler/src/sql/gen_expr.rs

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Update prql-compiler/src/sql/gen_expr.rs

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* Update prql-compiler/src/sql/gen_expr.rs

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* test: move tests to test.rs

* style: lint fix

---------

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* feat: adjust panic to Java Exception (#1971)

* build: update to version 0.5.2

* feat: add Exception for method signature

* chore: add Exception for test method

* feat: adjust panic to Java Exception and add format method

* chore: use implicit return

* test: add compileWithError() to test compile with error

* feat: add dialect, format and signature parameters for toSql method

* chore: update toSql method signature

* lint: code polishing reported by clippy

* chore: code format

* docs: adjust signature for toSQL()

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* docs: format

* chore: introduce target dialect from https://github.com/PRQL/prql/blob/main/book/src/language-features/target.md

* chore: rename dialect to target

* Use target rather than dialect

* lint

* docs: add javadoc for toSql()

---------

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Roos <m@maxroos.com>

* build: add very experimental MegaLinter config files (#1974)

* build: add MegaLinter config files

* build: disable errors of some linters

* chore: temporarily enable linting for all codes

* build: disable stylelint because of looong time required in CI

* chore: auto formatting

* build: disable all Linter errors that are currently causing errors

* build: disable markdown-link-chack's error

* build: disable megalinter's GitHub comment reporter

* chore: add comments in megalinter config files

* docs: add note about MegaLinter

* Revert "chore: temporarily enable linting for all codes"

This reverts commit a665b2d.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* build: fix workflow trigger not to run twice in PR from other branch

---------

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat: error code (#1993)

* feat: validate Options.target and allow sql.any (#1995)

* test: Fix Elixir test from #1995 (#1999)

* chore: bump @duckdb/duckdb-wasm from 1.21.0 to 1.24.0 in /playground (#2000)

Bumps [@duckdb/duckdb-wasm](https://github.com/duckdb/duckdb-wasm) from 1.21.0 to 1.24.0.
- [Release notes](https://github.com/duckdb/duckdb-wasm/releases)
- [Commits](duckdb/duckdb-wasm@v1.21.0...v1.24.0)

---
updated-dependencies:
- dependency-name: "@duckdb/duckdb-wasm"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix: Allow unicode in identifiers (#2005)

* fix: Allow unicode in identifiers

Closes #2003. Thanks to @vanillajonathan for the report.

* test: convert a few unit tests to integration (#2006)

* feat: Improve lexer error recovery (#2002)

* feat: Improve lexer error recovery

Upgrade to Chumsky 0.9.2 and add back recovery

* feat: Improve error messages on EOI (#2008)

* feat: Improve lexer error recovery

Upgrade to Chumsky 0.9.2 and add back recovery

* feat: Improve error messages on EOI

Based on #2002 (comment)

Also simplifies a code block

* .

* devops: Adjust gitignore so `bacon` works with `insta` (#2011)

* feat: Improve error messages for EOI more (#2012)

Follow-up to #2008

* fix: Fix regression in @2012 (#2013)

Demonstrates we don't have enough tests for error messages! (And that I was not conscientious...)

* chore: bump sqlparser from 0.30.0 to 0.31.0 (#2001)

* chore: bump sqlparser from 0.30.0 to 0.31.0

Bumps [sqlparser](https://github.com/sqlparser-rs/sqlparser-rs) from 0.30.0 to 0.31.0.
- [Release notes](https://github.com/sqlparser-rs/sqlparser-rs/releases)
- [Changelog](https://github.com/sqlparser-rs/sqlparser-rs/blob/main/CHANGELOG.md)
- [Commits](sqlparser-rs/sqlparser-rs@v0.30.0...v0.31.0)

---
updated-dependencies:
- dependency-name: sqlparser
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* .

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Roos <m@maxroos.com>
Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>

* docs: Add error messages to the book (#2015)

* docs: Add error messages to the book

This allows us to show and test error messages in the book, and adds an initial example.

Unfortunately the initial example doesn't have a great error message! So that's something we could work on.

It also updates the docs to add late binding — now functions support that!

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* .

* .

* .

* .

* .

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* refactor: Remove double-negatives (#2007)

* docs: update changelog about sql.any (#2017)

* feat: upper and lower function (#2019)

* docs: fix website landing page (#2021)

* chore: Fix typo in changelog (#2023)

* test: Test formatted examples can compile (#2016)

* docs: Add error messages to the book

This allows us to show and test error messages in the book, and adds an initial example.

Unfortunately the initial example doesn't have a great error message! So that's something we could work on.

It also updates the docs to add late binding — now functions support that!

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* .

* .

* .

* .

* .

* test: Test formatted examples can compile

We remove the snapshot output of them all -- even having written these, I was getting confused what all the snapshots were. And we don't use them at all. I added a TODO in the code for a good design if we could make progress on the autoformatter.

* Revert ""

This reverts commit 1937692.

* clean up merge diff

* .

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* build: add definitions for devcontainer base image (#2025)

* build: add definitions for devcontainer base image

* build: split install-cargo-tools task to another Taskfile

* build: fix concurrency of devcontainer.yaml (#2027)

* build: fix docker build workflows (#2028)

* build: always build amd64 and arm64

* build: fix copying Taskfile

* chore: bump base image version and pin to bullseye

* build: try only build arm64

* build: build amd64 only for now

* chore: pre-commit autoupdate (#2032)

updates:
- [github.com/crate-ci/typos: v1.13.12 → v1.13.18](crate-ci/typos@v1.13.12...v1.13.18)
- [github.com/pre-commit/mirrors-prettier: v3.0.0-alpha.4 → v3.0.0-alpha.6](pre-commit/mirrors-prettier@v3.0.0-alpha.4...v3.0.0-alpha.6)
- [github.com/charliermarsh/ruff-pre-commit: v0.0.252 → v0.0.254](astral-sh/ruff-pre-commit@v0.0.252...v0.0.254)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* devops: Add shortcuts for insta in `bacon` (#2037)

* devops: Add shortcuts for insta in `bacon`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* devops: Sync bacon command with `test-rust` (#2038)

* devops: Sync bacon command with `test-rust`

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* feat!: Rename `switch` to `case` (#2036)

* feat: Rename `switch` to `case`

In case `switch` is confusing, this switches `switch` for `case`. Hopefully the switch won't lead to a case of confusion; or we can case the decision again.

* build: add basic devcontainer.json (for Rust, JavaScript, Python) (#1893)

* chore: add devcontainer config file

* build: add base devcontainer definition and build workflow file

* First cut, very low-quality draft for Dev Containers

I have written about 98% of what I know. Let's all contribute to strengthen this document. Thanks.

* Remove "will" in favor of direct action words.

It's almost always better to write documentation saying "thing X _does_ action Y" instead of "thing X will do action Y".

* Update using-dev-container.md

* Update using-dev-container.md

* Final editorial tweak for first-cut description

* Update to reflect @eitsupi's comments

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* docs: some updates about VS Code Dev Containers

* docs: update title and add note

* docs: add a link to containers.dev

* docs: formatting lists

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* build: use only Dockerfile for base pre-built image

* ci: update workflow to use docker/build-push-action

* chore: autoformatting

* build: fix workflow trigger

* chore: fix path

* fix: fix GHA syntax

* fix: fix typo

* ci: use docker/metadata-action to prepare tags

* build: use pre-built image as devcontainer base image

* build: remove task for devcontainer setup for now

* chore: sync vscode extensions in devcontainer.json

* docs: some document update and install zsh completion

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* docs: add the page about devcontainers to the book

* build: set postCreateCommand

* chore: fix version of go-task Dev Container Feature

* docs: remove superfluous comment

---------

Co-authored-by: Maximilian Roos <5635139+max-sixty@users.noreply.github.com>
Co-authored-by: Rich Brown <richb.hanover@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* docs: Wordsmith #1893 (#2045)

* docs: Wordsmith #1893

* docs: Move task docs out of devcontainers (#2046)

These are good docs, but there's no reason for them to be here. They'd be good in the Taskfile, or very open to other suggestions

While I _really_ appreciate docs that we write (CC @richbhanover), it's important that they're focused, concise, and close to the code that they document -- because they also need to be maintained, and the project takes on that responsibility.

I really don't want to lose folks' generosity and ideas, but I'm going to start being a bit firmer on these sorts of things, because we're already starting to see some stale docs (#2044). There are other ways of writing things that have fewer guarantees of continued support -- blog posts, gists, etc.

* chore: Fix footnote in a doc (#2047)

* chore: Redirect case.html

This will fix the tests in #2040

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Aljaž Mur Eržen <aljazerzen@users.noreply.github.com>
Co-authored-by: Jonathan <vanillajonathan@users.noreply.github.com>
Co-authored-by: Rich Brown <richb.hanover@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Matthias Q <35303817+matthias-Q@users.noreply.github.com>
Co-authored-by: hbc <me@hbc.rocks>
Co-authored-by: eitsupi <50911393+eitsupi@users.noreply.github.com>
Co-authored-by: Aljaž Mur Eržen <aljaz.erzen@gmail.com>
Co-authored-by: Libing Chen <libing.chen@gmail.com>
Co-authored-by: Jelenkee <59470612+Jelenkee@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants