apache / apache/datafusion-sqlparser-rs
Verificiation script fails on `cargo publish --dry-run` when there are changes to derive
- 主要言語
- 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