blob: 2572ed7f1260ba58daa3dac9f8d4441512037c21 [file]
# 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.
# Builds cross-platform binaries and connector plugins, then publishes
# them as a rolling "edge" GitHub pre-release updated on every master push.
name: Edge release
on:
push:
branches: [master]
permissions:
contents: read
concurrency:
group: edge-release-${{ github.ref }}
cancel-in-progress: true
env:
IGGY_CI_BUILD: true
jobs:
build-artifacts:
name: Build artifacts
uses: ./.github/workflows/_build_rust_artifacts.yml
with:
version: edge
upload_artifacts: true
create-prerelease:
name: Create edge pre-release
runs-on: ubuntu-latest
needs: build-artifacts
if: needs.build-artifacts.result == 'success' && !github.event.repository.fork
permissions:
contents: write
steps:
- uses: actions/checkout@v7.0.0
- name: Get server version
id: meta
run: |
chmod +x scripts/extract-version.sh
server_version=$(scripts/extract-version.sh rust-server)
echo "server_version=${server_version}" >> "$GITHUB_OUTPUT"
- name: Download all artifacts
uses: actions/download-artifact@v8
with:
name: rust-artifacts-all
path: ./artifacts
- name: Delete existing edge release and tag
env:
GH_TOKEN: ${{ github.token }}
run: |
if gh release view edge &>/dev/null; then
echo "Deleting existing edge release and tag..."
gh release delete edge --cleanup-tag --yes || echo "Delete failed, continuing..."
fi
- name: Create edge pre-release
uses: softprops/action-gh-release@v3
with:
tag_name: edge
name: edge
draft: false
prerelease: true
make_latest: false
files: artifacts/*.tar.gz
body: |
Rolling edge build of Apache Iggy binaries and connector plugins.
**This release is automatically updated on every push to master.**
> Apache Iggy (Incubating) is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.
>
> Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects.
>
> While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
## Binaries included
- `iggy-server` - The server binary
- `iggy` - The command-line interface
- `iggy-bench` - The benchmarking tool
- `iggy-connectors` - The connectors runtime
## Connector plugins included (.so)
- `iggy_connector_elasticsearch_sink`
- `iggy_connector_elasticsearch_source`
- `iggy_connector_iceberg_sink`
- `iggy_connector_postgres_sink`
- `iggy_connector_postgres_source`
- `iggy_connector_quickwit_sink`
- `iggy_connector_random_source`
- `iggy_connector_s3_sink`
- `iggy_connector_stdout_sink`
- `iggy_connector_surrealdb_sink`
## Downloads
### Binaries
- `iggy-x86_64-unknown-linux-gnu-edge.tar.gz` - Linux x86_64 (glibc)
- `iggy-x86_64-unknown-linux-musl-edge.tar.gz` - Linux x86_64 (musl, static)
- `iggy-aarch64-unknown-linux-gnu-edge.tar.gz` - Linux ARM64 (glibc)
- `iggy-aarch64-unknown-linux-musl-edge.tar.gz` - Linux ARM64 (musl, static)
### Connector plugins
- `iggy-connectors-x86_64-unknown-linux-gnu-edge.tar.gz` - Linux x86_64 (glibc)
- `iggy-connectors-aarch64-unknown-linux-gnu-edge.tar.gz` - Linux ARM64 (glibc)
## Build info
- Server version: ${{ steps.meta.outputs.server_version }}
- Commit: ${{ github.sha }}
**Not an official ASF release.** Edge builds are for development/testing only.