Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,7 @@ github:
required_linear_history: true

features:
# Divergence bugs belong in the implementation repository that diverges.
# Fixture design is discussed on dev@iceberg.apache.org.
issues: false
issues: true
wiki: false
projects: false

Expand Down
61 changes: 61 additions & 0 deletions .github/ISSUE_TEMPLATE/01-fixture.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Fixture
description: A new test surface, new cases in an existing surface, or a correction to a committed fixture.
labels: ["fixtures"]
body:
- type: markdown
attributes:
value: |
Fixtures record a settled interpretation of the spec as values.
If a spec behavior is unclear and warrants a discussion, the discussion should be had on
`dev@iceberg.apache.org`.

- type: dropdown
id: fixture_change
attributes:
label: Change
description: |
- **New test surface**: a spec behavior no surface covers today.
- **New cases in an existing surface**: further inputs and expected values under a surface that already exists.
- **Fixture correction**: report a committed input, expected value, or reference table that is incorrect.
options:
- New test surface
- New cases in an existing surface
- Fixture correction
validations:
required: true

- type: input
id: spec_reference
attributes:
label: Spec reference
description: Link to the section of the table spec the behavior comes from.
placeholder: https://github.com/apache/iceberg/blob/main/format/spec.md#appendix-c-json-serialization
validations:
required: true

- type: textarea
id: details
attributes:
label: Description
description: >-
The change, fix, or new test being proposed. For a new test surface,
state the assertion it will verify.
validations:
required: true
30 changes: 30 additions & 0 deletions .github/ISSUE_TEMPLATE/02-tooling.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Tooling
description: Automation that runs a surface, reports divergence, or generates fixtures.
labels: ["tooling"]
body:
- type: textarea
id: details
attributes:
label: Description
description: >-
What the tooling should do, and which surfaces or reference tables it
applies to.
Comment on lines +21 to +28

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It feels like there should be more than just the one textarea, but I can't think of what else should be there. I'll leave my comment here but this isn't blocking.

validations:
required: true
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/03-documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Documentation
description: README, CONTRIBUTING, or a surface README is missing, unclear, or wrong.
labels: ["docs"]
body:
- type: textarea
id: details
attributes:
label: Description
description: What is missing, unclear, or wrong.
validations:
required: true
34 changes: 34 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

blank_issues_enabled: false

contact_links:
- name: What the spec requires, or how this project is run
url: https://lists.apache.org/list.html?dev@iceberg.apache.org
about: >-
Interpretation of the table spec is settled on dev@iceberg.apache.org, and
so is the direction of this repository: what it covers, how it is
governed, and what belongs in it. Fixtures record a settled reading. They
do not establish one.

- name: A defect in one implementation
url: https://iceberg.apache.org/community/
about: >-
A parser or writer that diverges from the spec is fixed in its own
repository: apache/iceberg, apache/iceberg-python, apache/iceberg-rust,
apache/iceberg-go, apache/iceberg-cpp.