Skip to content
Open
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
1 change: 1 addition & 0 deletions site/docs/how-to-release.md
Original file line number Diff line number Diff line change
Expand Up @@ -360,6 +360,7 @@ Once this is done, create a PR against the `javadoc` branch, similar to https://

Submit a PR, following the approach in https://github.com/apache/iceberg/pull/12242,
to update the Iceberg version, the links to the new version's documentation, and the release notes.
Also bump `snapshotVersion` in `site/mkdocs.yml` to the next development version (the new release with its minor version incremented, suffixed with `-SNAPSHOT`) so the [nightly snapshots](nightly-snapshots.md) page stays current.

Once this PR is merged, the [`site-ci`](https://github.com/apache/iceberg/blob/main/.github/workflows/site-ci.yml)
GitHub Actions workflow is automatically triggered for any push to `main` that touches `docs/`, `site/`,
Expand Down
2 changes: 1 addition & 1 deletion site/docs/multi-engine-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,6 @@ This allows the Iceberg support to evolve with the engine.
Projects such as [Trino](https://trino.io/docs/current/connector/iceberg.html) and [Presto](https://prestodb.io/docs/current/connector/iceberg.html) are good examples of such support strategy.

In this approach, an Iceberg version upgrade is needed for an engine to consume new Iceberg features.
To facilitate engine development against unreleased Iceberg features, a daily snapshot is published in the [Apache snapshot repository](https://repository.apache.org/content/repositories/snapshots/org/apache/iceberg/).
To facilitate engine development against unreleased Iceberg features, [nightly snapshots](nightly-snapshots.md) are published daily to the Apache snapshot repository.

If bringing an engine directly to the Iceberg main repository is needed, please raise a discussion thread in the [Iceberg community](community.md).
113 changes: 113 additions & 0 deletions site/docs/nightly-snapshots.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
---
title: "Nightly Snapshots"
---
<!--
- 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.
-->

# Nightly Snapshots

Every night, Apache Iceberg publishes a snapshot of every module to the
[Apache snapshot repository](https://repository.apache.org/content/repositories/snapshots/org/apache/iceberg/).
These nightly snapshots let developers build and test against the latest unreleased
changes on `main` before they are included in an official release.

!!! warning "For Iceberg developers only"

Snapshots are **unreleased**, in-development builds. They are **not** an official
Apache release, may change or break at any time, and **must not be used in
production**. For production use, always depend on an official
[release](releases.md). Per the ASF
[release policy](https://apache.org/legal/release-policy#publication), unreleased
artifacts are intended only for developers who are actively participating in
Iceberg development.

## Snapshot version

Snapshots are published daily at 00:00 UTC under the version `{{ snapshotVersion }}`,
which tracks the next unreleased version (the latest release with its minor version
incremented). Browse the
[snapshot repository listing](https://repository.apache.org/content/repositories/snapshots/org/apache/iceberg/)
to see which modules and versions are available.

## Usage

Add the Apache snapshot repository to your build and depend on the `{{ snapshotVersion }}`
version of the Iceberg modules you need. The examples below use `iceberg-core`; replace
it with the artifacts your project requires, such as an engine runtime like
`iceberg-spark-runtime-{{ sparkVersionMajor }}`.

=== "Gradle"

In `build.gradle`:

```gradle
repositories {
mavenCentral()
maven {
url = uri("https://repository.apache.org/content/repositories/snapshots")
}
}

dependencies {
implementation "org.apache.iceberg:iceberg-core:{{ snapshotVersion }}"
}
```

=== "Maven"

In `pom.xml`:

```xml
<repositories>
<repository>
<id>apache-snapshots</id>
<url>https://repository.apache.org/content/repositories/snapshots</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

<dependencies>
<dependency>
<groupId>org.apache.iceberg</groupId>
<artifactId>iceberg-core</artifactId>
<version>{{ snapshotVersion }}</version>
</dependency>
</dependencies>
```

=== "sbt"

In `build.sbt`:

```scala
resolvers += "Apache Snapshots" at "https://repository.apache.org/content/repositories/snapshots"

libraryDependencies += "org.apache.iceberg" % "iceberg-core" % "{{ snapshotVersion }}"
```

=== "Spark"

Pass the snapshot repository and a snapshot runtime to `spark-shell` (or
`spark-sql`, `pyspark`, or `spark-submit`):

```sh
spark-shell \
--repositories https://repository.apache.org/content/repositories/snapshots \
--packages org.apache.iceberg:iceberg-spark-runtime-{{ sparkVersionMajor }}:{{ snapshotVersion }}
```
1 change: 1 addition & 0 deletions site/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ markdown_extensions:

extra:
icebergVersion: '1.11.0'
snapshotVersion: '1.12.0-SNAPSHOT'
nessieVersion: '0.105.3'
flinkVersion: '2.1.0'
flinkVersionMajor: '2.1'
Expand Down
1 change: 1 addition & 0 deletions site/nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ nav:
- Project:
- Contributing: contribute.md
- Multi-engine support: multi-engine-support.md
- Nightly snapshots: nightly-snapshots.md
- Benchmarks: benchmarks.md
- Security: security.md
- How to release: how-to-release.md
Expand Down
Loading