Skip to content

Build Test and Publish Nightly Packages #1881

Build Test and Publish Nightly Packages

Build Test and Publish Nightly Packages #1881

Workflow file for this run

name: Build Test and Publish Nightly Packages
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
inputs: {}
push:
branches:
- nightly
jobs:
prep:
runs-on: ubuntu-latest
outputs:
branch: ${{ steps.whichver.outputs.branch }}
scm_revision: ${{ steps.whatrev.outputs.rev }}
if_debian_buster_x86_64: ${{ steps.scm.outputs.if_debian_buster_x86_64 }}
if_debian_buster_aarch64: ${{ steps.scm.outputs.if_debian_buster_aarch64 }}
if_debian_bullseye_x86_64: ${{ steps.scm.outputs.if_debian_bullseye_x86_64 }}
if_debian_bullseye_aarch64: ${{ steps.scm.outputs.if_debian_bullseye_aarch64 }}
if_debian_bookworm_x86_64: ${{ steps.scm.outputs.if_debian_bookworm_x86_64 }}
if_debian_bookworm_aarch64: ${{ steps.scm.outputs.if_debian_bookworm_aarch64 }}
if_ubuntu_bionic_x86_64: ${{ steps.scm.outputs.if_ubuntu_bionic_x86_64 }}
if_ubuntu_bionic_aarch64: ${{ steps.scm.outputs.if_ubuntu_bionic_aarch64 }}
if_ubuntu_focal_x86_64: ${{ steps.scm.outputs.if_ubuntu_focal_x86_64 }}
if_ubuntu_focal_aarch64: ${{ steps.scm.outputs.if_ubuntu_focal_aarch64 }}
if_ubuntu_jammy_x86_64: ${{ steps.scm.outputs.if_ubuntu_jammy_x86_64 }}
if_ubuntu_jammy_aarch64: ${{ steps.scm.outputs.if_ubuntu_jammy_aarch64 }}
if_ubuntu_noble_x86_64: ${{ steps.scm.outputs.if_ubuntu_noble_x86_64 }}
if_ubuntu_noble_aarch64: ${{ steps.scm.outputs.if_ubuntu_noble_aarch64 }}
if_centos_7_x86_64: ${{ steps.scm.outputs.if_centos_7_x86_64 }}
if_centos_8_x86_64: ${{ steps.scm.outputs.if_centos_8_x86_64 }}
if_centos_8_aarch64: ${{ steps.scm.outputs.if_centos_8_aarch64 }}
if_rockylinux_9_x86_64: ${{ steps.scm.outputs.if_rockylinux_9_x86_64 }}
if_rockylinux_9_aarch64: ${{ steps.scm.outputs.if_rockylinux_9_aarch64 }}
if_linux_x86_64: ${{ steps.scm.outputs.if_linux_x86_64 }}
if_linux_aarch64: ${{ steps.scm.outputs.if_linux_aarch64 }}
if_macos_x86_64: ${{ steps.scm.outputs.if_macos_x86_64 }}
if_macos_aarch64: ${{ steps.scm.outputs.if_macos_aarch64 }}
if_win_x86_64: ${{ steps.scm.outputs.if_win_x86_64 }}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Determine package version
shell: bash
run: |
branch=${GITHUB_REF#refs/heads/}
echo branch="${branch}" >> $GITHUB_OUTPUT
id: whichver
- name: Determine SCM revision
id: scm
shell: bash
run: |
rev=$(git rev-parse HEAD)
jq_filter='.packages[] | select(.basename == "edgedb-cli") | select(.architecture == $ARCH) | .version_details.metadata.scm_revision | . as $rev | select($REV | startswith($rev))'
val=true
idx_file=buster.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing debian-buster-x86_64'
val=false
fi
fi
echo if_debian_buster_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=buster.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing debian-buster-aarch64'
val=false
fi
fi
echo if_debian_buster_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=bullseye.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing debian-bullseye-x86_64'
val=false
fi
fi
echo if_debian_bullseye_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=bullseye.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing debian-bullseye-aarch64'
val=false
fi
fi
echo if_debian_bullseye_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=bookworm.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing debian-bookworm-x86_64'
val=false
fi
fi
echo if_debian_bookworm_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=bookworm.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing debian-bookworm-aarch64'
val=false
fi
fi
echo if_debian_bookworm_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=bionic.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-bionic-x86_64'
val=false
fi
fi
echo if_ubuntu_bionic_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=bionic.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-bionic-aarch64'
val=false
fi
fi
echo if_ubuntu_bionic_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=focal.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-focal-x86_64'
val=false
fi
fi
echo if_ubuntu_focal_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=focal.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-focal-aarch64'
val=false
fi
fi
echo if_ubuntu_focal_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=jammy.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-jammy-x86_64'
val=false
fi
fi
echo if_ubuntu_jammy_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=jammy.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-jammy-aarch64'
val=false
fi
fi
echo if_ubuntu_jammy_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=noble.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-noble-x86_64'
val=false
fi
fi
echo if_ubuntu_noble_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=noble.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing ubuntu-noble-aarch64'
val=false
fi
fi
echo if_ubuntu_noble_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=el7.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing centos-7-x86_64'
val=false
fi
fi
echo if_centos_7_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=el8.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing centos-8-x86_64'
val=false
fi
fi
echo if_centos_8_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=el8.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing centos-8-aarch64'
val=false
fi
fi
echo if_centos_8_aarch64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=el9.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing rockylinux-9-x86_64'
val=false
fi
fi
echo if_rockylinux_9_x86_64="$val" >> $GITHUB_OUTPUT
val=true
idx_file=el9.nightly.json
if [ ! -e "/tmp/$idx_file" ]; then
curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$idx_file || true
fi
if [ -e "/tmp/$idx_file" ]; then
out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter")
if [ -n "$out" ]; then
echo 'Skip rebuilding existing rockylinux-9-aarch64'
val=false
fi
fi
echo if_rockylinux_9_aarch64="$val" >> $GITHUB_OUTPUT
val=true
out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-unknown-linux-musl.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter" || true)
if [ -n "$out" ]; then
echo 'Skip rebuilding existing linux-x86_64'
val=false
fi
echo if_linux_x86_64="$val" >> $GITHUB_OUTPUT
val=true
out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-unknown-linux-musl.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter" || true)
if [ -n "$out" ]; then
echo 'Skip rebuilding existing linux-aarch64'
val=false
fi
echo if_linux_aarch64="$val" >> $GITHUB_OUTPUT
val=true
out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter" || true)
if [ -n "$out" ]; then
echo 'Skip rebuilding existing macos-x86_64'
val=false
fi
echo if_macos_x86_64="$val" >> $GITHUB_OUTPUT
val=true
out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter" || true)
if [ -n "$out" ]; then
echo 'Skip rebuilding existing macos-aarch64'
val=false
fi
echo if_macos_aarch64="$val" >> $GITHUB_OUTPUT
val=true
out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-pc-windows-msvc.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter" || true)
if [ -n "$out" ]; then
echo 'Skip rebuilding existing win-x86_64'
val=false
fi
echo if_win_x86_64="$val" >> $GITHUB_OUTPUT
build-debian-buster-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_debian_buster_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "buster"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-debian-buster-x86_64
path: artifacts/debian-buster/
build-debian-buster-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_debian_buster_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "buster"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-debian-buster-aarch64
path: artifacts/debian-buster/
build-debian-bullseye-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_debian_bullseye_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bullseye"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-debian-bullseye-x86_64
path: artifacts/debian-bullseye/
build-debian-bullseye-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_debian_bullseye_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bullseye"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-debian-bullseye-aarch64
path: artifacts/debian-bullseye/
build-debian-bookworm-x86_64:
runs-on: ['self-hosted', 'linux', 'x64']
needs: prep
if: needs.prep.outputs.if_debian_bookworm_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bookworm"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-debian-bookworm-x86_64
path: artifacts/debian-bookworm/
build-debian-bookworm-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_debian_bookworm_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bookworm"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-debian-bookworm-aarch64
path: artifacts/debian-bookworm/
build-ubuntu-bionic-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_ubuntu_bionic_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "bionic"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-bionic-x86_64
path: artifacts/ubuntu-bionic/
build-ubuntu-bionic-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_ubuntu_bionic_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "bionic"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-bionic-aarch64
path: artifacts/ubuntu-bionic/
build-ubuntu-focal-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_ubuntu_focal_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "focal"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-focal-x86_64
path: artifacts/ubuntu-focal/
build-ubuntu-focal-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_ubuntu_focal_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "focal"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-focal-aarch64
path: artifacts/ubuntu-focal/
build-ubuntu-jammy-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_ubuntu_jammy_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "jammy"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-jammy-x86_64
path: artifacts/ubuntu-jammy/
build-ubuntu-jammy-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_ubuntu_jammy_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "jammy"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-jammy-aarch64
path: artifacts/ubuntu-jammy/
build-ubuntu-noble-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_ubuntu_noble_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-noble@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "noble"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-noble-x86_64
path: artifacts/ubuntu-noble/
build-ubuntu-noble-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_ubuntu_noble_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-noble@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "noble"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-ubuntu-noble-aarch64
path: artifacts/ubuntu-noble/
build-centos-7-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_centos_7_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/centos-7@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "7"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-centos-7-x86_64
path: artifacts/centos-7/
build-centos-8-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_centos_8_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "8"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-centos-8-x86_64
path: artifacts/centos-8/
build-centos-8-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_centos_8_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "8"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-centos-8-aarch64
path: artifacts/centos-8/
build-rockylinux-9-x86_64:
runs-on: ['self-hosted', 'linux', 'x64']
needs: prep
if: needs.prep.outputs.if_rockylinux_9_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "rockylinux"
PKG_PLATFORM_VERSION: "9"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-rockylinux-9-x86_64
path: artifacts/rockylinux-9/
build-rockylinux-9-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_rockylinux_9_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "rockylinux"
PKG_PLATFORM_VERSION: "9"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
- uses: actions/upload-artifact@v4
with:
name: builds-rockylinux-9-aarch64
path: artifacts/rockylinux-9/
build-linux-x86_64:
runs-on: ubuntu-latest
needs: prep
if: needs.prep.outputs.if_linux_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-x86_64@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "linux"
PKG_PLATFORM_VERSION: "x86_64"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
BUILD_GENERIC: true
PKG_PLATFORM_LIBC: "musl"
- uses: actions/upload-artifact@v4
with:
name: builds-linux-x86_64
path: artifacts/linuxmusl-x86_64/
build-linux-aarch64:
runs-on: ['self-hosted', 'linux', 'arm64']
needs: prep
if: needs.prep.outputs.if_linux_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Build
uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-aarch64@master
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "linux"
PKG_PLATFORM_VERSION: "aarch64"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
EXTRA_OPTIMIZATIONS: "true"
BUILD_GENERIC: true
PKG_PLATFORM_LIBC: "musl"
- uses: actions/upload-artifact@v4
with:
name: builds-linux-aarch64
path: artifacts/linuxmusl-aarch64/
build-macos-x86_64:
runs-on: ['macos-14']
needs: prep
if: needs.prep.outputs.if_macos_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Update Homebrew before installing Rust toolchain
run: |
# Homebrew renamed `rustup-init` to `rustup`:
# https://github.com/Homebrew/homebrew-core/pull/177840
# But the GitHub Action runner is not updated with this change yet.
# This caused the later `brew update` in step `Build` to relink Rust
# toolchain executables, overwriting the custom toolchain installed by
# `dtolnay/rust-toolchain`. So let's just run `brew update` early.
brew update
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@d0e72ca3bfdc51937a4f81431ccbed269ef9f2a2
if: true
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "x86_64-apple-darwin"
- name: Set up Python
uses: actions/setup-python@v5
if: true
with:
python-version: "3.x"
- name: Install dependencies
if: true
run: |
env HOMEBREW_NO_AUTO_UPDATE=1 brew install libmagic
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "x86_64"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
METAPKG_GIT_CACHE: disabled
BUILD_GENERIC: true
run: |
edgedb-pkg/integration/macos/build.sh
- uses: actions/upload-artifact@v4
with:
name: builds-macos-x86_64
path: artifacts/macos-x86_64/
build-macos-aarch64:
runs-on: ['macos-14']
needs: prep
if: needs.prep.outputs.if_macos_aarch64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Update Homebrew before installing Rust toolchain
run: |
# Homebrew renamed `rustup-init` to `rustup`:
# https://github.com/Homebrew/homebrew-core/pull/177840
# But the GitHub Action runner is not updated with this change yet.
# This caused the later `brew update` in step `Build` to relink Rust
# toolchain executables, overwriting the custom toolchain installed by
# `dtolnay/rust-toolchain`. So let's just run `brew update` early.
brew update
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@d0e72ca3bfdc51937a4f81431ccbed269ef9f2a2
if: true
with:
components: "cargo,rustc,rust-std"
toolchain: "stable"
targets: "aarch64-apple-darwin"
- name: Set up Python
uses: actions/setup-python@v5
if: true
with:
python-version: "3.x"
- name: Install dependencies
if: true
run: |
env HOMEBREW_NO_AUTO_UPDATE=1 brew install libmagic
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "aarch64"
PKG_PLATFORM_ARCH: "aarch64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
METAPKG_GIT_CACHE: disabled
BUILD_GENERIC: true
run: |
edgedb-pkg/integration/macos/build.sh
- uses: actions/upload-artifact@v4
with:
name: builds-macos-aarch64
path: artifacts/macos-aarch64/
build-win-x86_64:
runs-on: windows-2019
needs: prep
if: needs.prep.outputs.if_win_x86_64 == 'true'
steps:
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@55c7845fad90d0ae8b2e83715cb900e5e861e8cb
with:
toolchain: stable
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Configure Pagefile
uses: elprans/configure-pagefile-action@v2
with:
minimum-size: 8GB
- name: Build
env:
SRC_REF: "${{ needs.prep.outputs.branch }}"
PKG_REVISION: "<current-date>"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "win"
PKG_PLATFORM_VERSION: "x86_64"
PKG_PLATFORM_ARCH: "x86_64"
PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI
shell: bash
run: |
edgedb-pkg/integration/win/build.sh
- name: Set up VC tools environment
uses: elprans/gha-setup-vcpp-build-tools@v1
- name: Sign
uses: dlemstra/code-sign-action@913a13539bc1e64662db7eaa1e591f201f6b2bb6
with:
certificate: "${{ secrets.WIN_CODE_SIGNING_CERT }}"
password: "${{ secrets.WIN_CODE_SIGNING_CERT_PASSWORD }}"
folder: "artifacts/win-x86_64/"
- uses: actions/upload-artifact@v4
with:
name: builds-win-x86_64
path: artifacts/win-x86_64
publish-debian-buster-x86_64:
needs: [build-debian-buster-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-buster-x86_64
path: artifacts/debian-buster/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-buster
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "buster"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-debian-buster-x86_64:
needs: [publish-debian-buster-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-buster-x86_64
path: artifacts/debian-buster/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-buster
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/debian-buster@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "buster"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-debian-buster-aarch64:
needs: [build-debian-buster-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-buster-aarch64
path: artifacts/debian-buster/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-buster
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "buster"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-debian-buster-aarch64:
needs: [publish-debian-buster-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-buster-aarch64
path: artifacts/debian-buster/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-buster
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/debian-buster@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "buster"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-debian-bullseye-x86_64:
needs: [build-debian-bullseye-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bullseye-x86_64
path: artifacts/debian-bullseye/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bullseye
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bullseye"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-debian-bullseye-x86_64:
needs: [publish-debian-bullseye-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bullseye-x86_64
path: artifacts/debian-bullseye/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bullseye
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/debian-bullseye@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bullseye"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-debian-bullseye-aarch64:
needs: [build-debian-bullseye-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bullseye-aarch64
path: artifacts/debian-bullseye/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bullseye
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bullseye"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-debian-bullseye-aarch64:
needs: [publish-debian-bullseye-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bullseye-aarch64
path: artifacts/debian-bullseye/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bullseye
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/debian-bullseye@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bullseye"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-debian-bookworm-x86_64:
needs: [build-debian-bookworm-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bookworm-x86_64
path: artifacts/debian-bookworm/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bookworm
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bookworm"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-debian-bookworm-x86_64:
needs: [publish-debian-bookworm-x86_64]
runs-on: ['self-hosted', 'linux', 'x64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bookworm-x86_64
path: artifacts/debian-bookworm/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bookworm
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/debian-bookworm@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bookworm"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-debian-bookworm-aarch64:
needs: [build-debian-bookworm-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bookworm-aarch64
path: artifacts/debian-bookworm/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bookworm
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bookworm"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-debian-bookworm-aarch64:
needs: [publish-debian-bookworm-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-debian-bookworm-aarch64
path: artifacts/debian-bookworm/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: debian-bookworm
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/debian-bookworm@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "debian"
PKG_PLATFORM_VERSION: "bookworm"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-bionic-x86_64:
needs: [build-ubuntu-bionic-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-bionic-x86_64
path: artifacts/ubuntu-bionic/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-bionic
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "bionic"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-bionic-x86_64:
needs: [publish-ubuntu-bionic-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-bionic-x86_64
path: artifacts/ubuntu-bionic/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-bionic
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-bionic@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "bionic"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-bionic-aarch64:
needs: [build-ubuntu-bionic-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-bionic-aarch64
path: artifacts/ubuntu-bionic/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-bionic
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "bionic"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-bionic-aarch64:
needs: [publish-ubuntu-bionic-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-bionic-aarch64
path: artifacts/ubuntu-bionic/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-bionic
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-bionic@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "bionic"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-focal-x86_64:
needs: [build-ubuntu-focal-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-focal-x86_64
path: artifacts/ubuntu-focal/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-focal
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "focal"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-focal-x86_64:
needs: [publish-ubuntu-focal-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-focal-x86_64
path: artifacts/ubuntu-focal/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-focal
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-focal@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "focal"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-focal-aarch64:
needs: [build-ubuntu-focal-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-focal-aarch64
path: artifacts/ubuntu-focal/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-focal
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "focal"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-focal-aarch64:
needs: [publish-ubuntu-focal-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-focal-aarch64
path: artifacts/ubuntu-focal/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-focal
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-focal@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "focal"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-jammy-x86_64:
needs: [build-ubuntu-jammy-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-jammy-x86_64
path: artifacts/ubuntu-jammy/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-jammy
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "jammy"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-jammy-x86_64:
needs: [publish-ubuntu-jammy-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-jammy-x86_64
path: artifacts/ubuntu-jammy/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-jammy
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-jammy@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "jammy"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-jammy-aarch64:
needs: [build-ubuntu-jammy-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-jammy-aarch64
path: artifacts/ubuntu-jammy/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-jammy
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "jammy"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-jammy-aarch64:
needs: [publish-ubuntu-jammy-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-jammy-aarch64
path: artifacts/ubuntu-jammy/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-jammy
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-jammy@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "jammy"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-noble-x86_64:
needs: [build-ubuntu-noble-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-noble-x86_64
path: artifacts/ubuntu-noble/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-noble
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "noble"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-noble-x86_64:
needs: [publish-ubuntu-noble-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-noble-x86_64
path: artifacts/ubuntu-noble/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-noble
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-noble@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "noble"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-ubuntu-noble-aarch64:
needs: [build-ubuntu-noble-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-noble-aarch64
path: artifacts/ubuntu-noble/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-noble
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "noble"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-ubuntu-noble-aarch64:
needs: [publish-ubuntu-noble-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-ubuntu-noble-aarch64
path: artifacts/ubuntu-noble/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: ubuntu-noble
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-noble@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "ubuntu"
PKG_PLATFORM_VERSION: "noble"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-centos-7-x86_64:
needs: [build-centos-7-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-centos-7-x86_64
path: artifacts/centos-7/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: centos-7
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "7"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-centos-7-x86_64:
needs: [publish-centos-7-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-centos-7-x86_64
path: artifacts/centos-7/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: centos-7
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/centos-7@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "7"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-centos-8-x86_64:
needs: [build-centos-8-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-centos-8-x86_64
path: artifacts/centos-8/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: centos-8
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "8"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-centos-8-x86_64:
needs: [publish-centos-8-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-centos-8-x86_64
path: artifacts/centos-8/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: centos-8
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/centos-8@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "8"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-centos-8-aarch64:
needs: [build-centos-8-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-centos-8-aarch64
path: artifacts/centos-8/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: centos-8
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "8"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-centos-8-aarch64:
needs: [publish-centos-8-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-centos-8-aarch64
path: artifacts/centos-8/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: centos-8
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/centos-8@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "centos"
PKG_PLATFORM_VERSION: "8"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-rockylinux-9-x86_64:
needs: [build-rockylinux-9-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-rockylinux-9-x86_64
path: artifacts/rockylinux-9/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: rockylinux-9
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "rockylinux"
PKG_PLATFORM_VERSION: "9"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-rockylinux-9-x86_64:
needs: [publish-rockylinux-9-x86_64]
runs-on: ['self-hosted', 'linux', 'x64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-rockylinux-9-x86_64
path: artifacts/rockylinux-9/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: rockylinux-9
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/rockylinux-9@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "rockylinux"
PKG_PLATFORM_VERSION: "9"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-rockylinux-9-aarch64:
needs: [build-rockylinux-9-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-rockylinux-9-aarch64
path: artifacts/rockylinux-9/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: rockylinux-9
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "rockylinux"
PKG_PLATFORM_VERSION: "9"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
check-published-rockylinux-9-aarch64:
needs: [publish-rockylinux-9-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-rockylinux-9-aarch64
path: artifacts/rockylinux-9/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: rockylinux-9
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/rockylinux-9@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "rockylinux"
PKG_PLATFORM_VERSION: "9"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-linux-x86_64:
needs: [build-linux-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-linux-x86_64
path: artifacts/linuxmusl-x86_64/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: linuxmusl-x86_64
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "linux"
PKG_PLATFORM_VERSION: "x86_64"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
PKG_PLATFORM_LIBC: "musl"
check-published-linux-x86_64:
needs: [publish-linux-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-linux-x86_64
path: artifacts/linuxmusl-x86_64/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: linuxmusl-x86_64
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/linuxmusl-x86_64@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "linux"
PKG_PLATFORM_VERSION: "x86_64"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-linux-aarch64:
needs: [build-linux-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-linux-aarch64
path: artifacts/linuxmusl-aarch64/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: linuxmusl-aarch64
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "linux"
PKG_PLATFORM_VERSION: "aarch64"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
PKG_PLATFORM_LIBC: "musl"
check-published-linux-aarch64:
needs: [publish-linux-aarch64]
runs-on: ['self-hosted', 'linux', 'arm64']
steps:
- uses: actions/download-artifact@v4
with:
name: builds-linux-aarch64
path: artifacts/linuxmusl-aarch64/
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: linuxmusl-aarch64
- name: Test Published
uses: edgedb/edgedb-pkg/integration/linux/testpublished/linuxmusl-aarch64@master
env:
PKG_NAME: "${{ steps.describe.outputs.name }}"
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "linux"
PKG_PLATFORM_VERSION: "aarch64"
PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
outputs:
version: "${{ steps.describe.outputs.version }}"
version-core: "${{ steps.describe.outputs.version-core }}"
install-ref: "${{ steps.describe.outputs.install-ref }}"
publish-macos-x86_64:
needs: [build-macos-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-macos-x86_64
path: artifacts/macos-x86_64
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: macos-x86_64
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "x86_64"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
publish-macos-aarch64:
needs: [build-macos-aarch64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-macos-aarch64
path: artifacts/macos-aarch64
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: macos-aarch64
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "macos"
PKG_PLATFORM_VERSION: "aarch64"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
publish-win-x86_64:
needs: [build-win-x86_64]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
name: builds-win-x86_64
path: artifacts/win-x86_64
- uses: actions/checkout@v4
with:
repository: edgedb/edgedb-pkg
ref: master
path: edgedb-pkg
- name: Describe
id: describe
uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master
with:
target: win-x86_64
- name: Publish
uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master
env:
PKG_SUBDIST: "nightly"
PKG_PLATFORM: "win"
PKG_PLATFORM_VERSION: "x86_64"
PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}"
PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}"
publish-docker:
needs:
- check-published-linux-x86_64
- check-published-linux-aarch64
runs-on: ubuntu-latest
steps:
- name: Prepare docker context
run: |
mkdir -p dockerctx
cat >dockerctx/Dockerfile <<'EOF'
FROM alpine:3 AS download
ARG subdist
ARG install_ref_x86_64
ARG install_ref_aarch64
RUN apk add --no-cache \
bash \
ca-certificates \
wget \
tar \
zstd
SHELL ["/bin/bash", "-c"]
RUN \
set -eEx -o pipefail \
&& shopt -s dotglob inherit_errexit nullglob \
&& plat_id="$(arch)-unknown-linux-musl" \
&& if [ -n "$subdist" ]; then plat_id+=".${subdist}"; fi \
&& install_ref_var="install_ref_$(arch)" \
&& install_ref="${!install_ref_var}" \
&& url="https://packages.edgedb.com/archive/${plat_id}/${install_ref}" \
&& ( \
for i in $(seq 1 30); do [[ $i -gt 1 ]] && sleep 30; \
wget --secure-protocol=PFS --https-only "${url}" \
&& s=0 && break || s=$?; done; exit $s \
) \
&& artifact=$(basename "${install_ref}") \
&& if ! [ -e "${artifact}" ]; then \
echo ::error "Downloaded something, but '${artifact}' does not exist." ; \
exit 1 ; \
fi \
&& ( \
case "${artifact}" in \
*.zst) \
cp -a "${artifact}" "/tmp/" \
cd "/tmp/" \
zstd -d "${artifact}" -o "edgedb" \
;; \
*) \
cp -a "${artifact}" "/tmp/edgedb" \
;; \
esac \
) \
&& chmod +x /tmp/edgedb
FROM scratch
COPY --from=download /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=download /tmp/edgedb /usr/bin/edgedb
ENTRYPOINT ["/usr/bin/edgedb"]
EOF
- env:
VERSION: "${{ needs.check-published-linux-x86_64.outputs.version }}"
VERSION_CORE: "${{ needs.check-published-linux-x86_64.outputs.version-core }}"
PKG_SUBDIST: "nightly"
id: tags
run: |
set -e
url='https://registry.hub.docker.com/v2/repositories/edgedb/edgedb-cli/tags?page_size=100'
repo_tags=$(
while [ -n "$url" ]; do
resp=$(curl -L -s "$url")
url=$(echo "$resp" | jq -r ".next")
if [ "$url" = "null" ] || [ -z "$url" ]; then
break
fi
echo "$resp" | jq -r '."results"[]["name"]'
done | grep "^[[:digit:]]\+.*" || :
)
tags=( "$VERSION_CORE" )
if [ -z "$PKG_SUBDIST" ]; then
top=$(printf "%s\n%s\n" "$VERSION_CORE" "$repo_tags" \
| sort --version-sort --reverse | head -n 1)
if [ "$top" == "$VERSION_CORE" ]; then
tags+=( "latest" )
fi
fi
IFS=,
echo "tags=${tags[*]}" >> $GITHUB_OUTPUT
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Publish Docker Image
uses: elgohr/Publish-Docker-Github-Action@43dc228e327224b2eda11c8883232afd5b34943b # v5
with:
name: edgedb/edgedb-cli
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
tags: nightly
workdir: dockerctx
buildargs: install_ref_x86_64=${{ needs.check-published-linux-x86_64.outputs.install-ref }},install_ref_aarch64=${{ needs.check-published-linux-aarch64.outputs.install-ref }},subdist=nightly
platforms: linux/amd64,linux/arm64