apache / apache/datafusion-sqlparser-rs

Verificiation script fails on `cargo publish --dry-run` when there are changes to derive

オープン
#1,596 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
3.5k
フォーク
772
平均マージ
4日 9時間
マージ済み PR(30日)
17

説明

* part of https://github.com/apache/datafusion-sqlparser-rs/issues/1517

When you run `./dev/release/verify_release.sh 0.53.0 2` I got the following error:

```
+ find -iname Cargo.toml
+ xargs grep SNAPSHOT
find: illegal option -- i
usage: find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]
+ cargo publish --dry-run
Updating crates.io index
Packaging sqlparser v0.53.0 (/private/var/folders/1l/tg68jc6550gg8xqf1hr4mlwr0000gn/T/datafusion-sqlparser-rs-0.53.0.XXXXX.fm9FlzQWEQ/apache-datafusion-sqlparser-rs-0.53.0)
warning: ignoring example `cli` as `examples/cli.rs` is not included in the published package
warning: ignoring example `parse_select` as `examples/parse_select.rs` is not included in the published package
warning: ignoring test `sqlparser_bigquery` as `tests/sqlparser_bigquery.rs` is not included in the published package
warning: ignoring test `sqlparser_clickhouse` as `tests/sqlparser_clickhouse.rs` is not included in the published package
warning: ignoring test `sqlparser_common` as `tests/sqlparser_common.rs` is not included in the published package
warning: ignoring test `sqlparser_custom_dialect` as `tests/sqlparser_custom_dialect.rs` is not included in the published package
warning: ignoring test `sqlparser_databricks` as `tests/sqlparser_databricks.rs` is not included in the published package
warning: ignoring test `sqlparser_duckdb` as `tests/sqlparser_duckdb.rs` is not included in the published package
warning: ignoring test `sqlparser_hive` as `tests/sqlparser_hive.rs` is not included in the published package
warning: ignoring test `sqlparser_mssql` as `tests/sqlparser_mssql.rs` is not included in the published package
warning: ignoring test `sqlparser_mysql` as `tests/sqlparser_mysql.rs` is not included in the published package
warning: ignoring test `sqlparser_postgres` as `tests/sqlparser_postgres.rs` is not included in the published package
warning: ignoring test `sqlparser_redshift` as `tests/sqlparser_redshift.rs` is not included in the published package
warning: ignoring test `sqlparser_regression` as `tests/sqlparser_regression.rs` is not included in the published package
warning: ignoring test `sqlparser_snowflake` as `tests/sqlparser_snowflake.rs` is not included in the published package
warning: ignoring test `sqlparser_sqlite` as `tests/sqlparser_sqlite.rs` is not included in the published package
Updating crates.io index
error: failed to prepare local package for uploading

Caused by:
failed to select a version for the requirement `sqlparser_derive = "^0.3.0"`
candidate versions found which didn't match: 0.2.2, 0.2.1, 0.2.0, ...
location searched: crates.io index
required by package `sqlparser v0.53.0 (/private/var/folders/1l/tg68jc6550gg8xqf1hr4mlwr0000gn/T/datafusion-sqlparser-rs-0.53.0.XXXXX.fm9FlzQWEQ/apache-datafusion-sqlparser-rs-0.53.0)`
+ cleanup
+ '[' no = yes ']'
+ echo 'Failed to verify release candidate. See /var/folders/1l/tg68jc6550gg8xqf1hr4mlwr0000gn/T/datafusion-sqlparser-rs-0.53.0.XXXXX.fm9FlzQWEQ for details.'
Failed to verify release candidate. See /var/folders/1l/tg68jc6550gg8xqf1hr4mlwr0000gn/T/datafusion-sqlparser-rs-0.53.0.XXXXX.fm9FlzQWEQ for details.
```

I believe the issue is that we also have a new version of `sqlparser-derive` to publish as well, but since that is not yet published on cargo, testing `cargo publish` for `sqlparser` will not work

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず dev/release/verify_release.sh を読み、./dev/release/verify_release.sh 0.53.0 2 で失敗を再現します。derive の変更が含まれている場合に、cargo publish --dry-run が未公開の sqlparser_derive バージョンをどのように処理するか確認します。このケースでリリース検証が正常に完了すれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
bash, rust
領域
build-system, release
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
42/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。