Build Test and Publish Nightly Packages #2270
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} | |
| if_win_aarch64: ${{ steps.scm.outputs.if_win_aarch64 }} | |
| 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 == "gel-cli") | select(.architecture == $ARCH) | .version_details.metadata.scm_revision | select(. != null) | . 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 | |
| val=true | |
| out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-pc-windows-msvc.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter" || true) | |
| if [ -n "$out" ]; then | |
| echo 'Skip rebuilding existing win-aarch64' | |
| val=false | |
| fi | |
| echo if_win_aarch64="$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: docker://ghcr.io/geldata/gelpkg-build-debian-buster:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-debian-buster:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-debian-bullseye:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-debian-bullseye:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-debian-bookworm:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-debian-bookworm:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-bionic:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-bionic:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-focal:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-focal:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-jammy:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-jammy:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-noble:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-ubuntu-noble:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-centos-7:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-centos-8:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-centos-8:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-rockylinux-9:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-rockylinux-9:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-linuxmusl-x86_64:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| BUILD_GENERIC: true | |
| PKG_PLATFORM_LIBC: "musl" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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: docker://ghcr.io/geldata/gelpkg-build-linuxmusl-aarch64:latest | |
| 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:GelCLI | |
| EXTRA_OPTIMIZATIONS: "true" | |
| BUILD_GENERIC: true | |
| PKG_PLATFORM_LIBC: "musl" | |
| GEL_PKG_REF: ${{ inputs.gelpkg_ref }} | |
| METAPKG_REF: ${{ inputs.metapkg_ref }} | |
| - 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@6691ebadcb18182cc1391d07c9f295f657c593cd | |
| if: true | |
| with: | |
| components: "cargo,rustc,rust-std" | |
| toolchain: "1.88" | |
| targets: "x86_64-apple-darwin" | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| if: true | |
| with: | |
| python-version: "3.12" | |
| - 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:GelCLI | |
| 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@6691ebadcb18182cc1391d07c9f295f657c593cd | |
| if: true | |
| with: | |
| components: "cargo,rustc,rust-std" | |
| toolchain: "1.88" | |
| targets: "aarch64-apple-darwin" | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| if: true | |
| with: | |
| python-version: "3.12" | |
| - 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:GelCLI | |
| 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-2025 | |
| 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@6691ebadcb18182cc1391d07c9f295f657c593cd | |
| with: | |
| toolchain: 1.88 | |
| - name: Setup winget | |
| uses: geldata/setup-winget@v1 | |
| - name: Install Zstandard | |
| shell: pwsh | |
| run: | | |
| winget install Meta.Zstandard --disable-interactivity --accept-source-agreements --accept-package-agreements | |
| - name: Add WinGet Links to PATH | |
| shell: pwsh | |
| run: | | |
| $linkDir = "$env:LOCALAPPDATA\Microsoft\WinGet\Links" | |
| if (Test-Path $linkDir) { | |
| $linkDir | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| } | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.12" | |
| - 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:GelCLI | |
| 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 | |
| build-win-aarch64: | |
| runs-on: windows-11-arm | |
| needs: prep | |
| if: needs.prep.outputs.if_win_aarch64 == 'true' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| repository: edgedb/edgedb-pkg | |
| ref: master | |
| path: edgedb-pkg | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@6691ebadcb18182cc1391d07c9f295f657c593cd | |
| with: | |
| toolchain: 1.88 | |
| - name: Setup winget | |
| uses: geldata/setup-winget@v1 | |
| - name: Install Zstandard | |
| shell: pwsh | |
| run: | | |
| winget install Meta.Zstandard --disable-interactivity --accept-source-agreements --accept-package-agreements | |
| - name: Add WinGet Links to PATH | |
| shell: pwsh | |
| run: | | |
| $linkDir = "$env:LOCALAPPDATA\Microsoft\WinGet\Links" | |
| if (Test-Path $linkDir) { | |
| $linkDir | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| } | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.12" | |
| - name: Build | |
| env: | |
| SRC_REF: "${{ needs.prep.outputs.branch }}" | |
| PKG_REVISION: "<current-date>" | |
| PKG_SUBDIST: "nightly" | |
| PKG_PLATFORM: "win" | |
| PKG_PLATFORM_VERSION: "aarch64" | |
| PKG_PLATFORM_ARCH: "aarch64" | |
| PACKAGE: edgedbpkg.edgedbcli:GelCLI | |
| 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-aarch64/" | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: builds-win-aarch64 | |
| path: artifacts/win-aarch64 | |
| collect: | |
| needs: | |
| - build-debian-buster-x86_64 | |
| - build-debian-buster-aarch64 | |
| - build-debian-bullseye-x86_64 | |
| - build-debian-bullseye-aarch64 | |
| - build-debian-bookworm-x86_64 | |
| - build-debian-bookworm-aarch64 | |
| - build-ubuntu-bionic-x86_64 | |
| - build-ubuntu-bionic-aarch64 | |
| - build-ubuntu-focal-x86_64 | |
| - build-ubuntu-focal-aarch64 | |
| - build-ubuntu-jammy-x86_64 | |
| - build-ubuntu-jammy-aarch64 | |
| - build-ubuntu-noble-x86_64 | |
| - build-ubuntu-noble-aarch64 | |
| - build-centos-7-x86_64 | |
| - build-centos-8-x86_64 | |
| - build-centos-8-aarch64 | |
| - build-rockylinux-9-x86_64 | |
| - build-rockylinux-9-aarch64 | |
| - build-linux-x86_64 | |
| - build-linux-aarch64 | |
| - build-macos-x86_64 | |
| - build-macos-aarch64 | |
| - build-win-x86_64 | |
| - build-win-aarch64 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - run: echo 'All builds passed, ready to publish now!' | |
| publish-debian-buster-x86_64: | |
| needs: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-debian-buster:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-debian-buster:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-debian-bullseye:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-debian-bullseye:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-debian-bookworm:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-debian-bookworm:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-bionic:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-bionic:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-focal:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-focal:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-jammy:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-jammy:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-noble:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-ubuntu-noble:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-centos-7:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-centos-8:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-centos-8:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-rockylinux-9:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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 }}" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-rockylinux-9:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-linuxmusl-x86_64:latest | |
| 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: [collect] | |
| 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: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-aarch64:latest | |
| 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" | |
| - name: Test Published | |
| uses: docker://ghcr.io/geldata/gelpkg-testpublished-linuxmusl-aarch64:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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: [collect] | |
| 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: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| 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-win-aarch64: | |
| needs: [collect] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: builds-win-aarch64 | |
| path: artifacts/win-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: win-aarch64 | |
| - name: Publish | |
| uses: docker://ghcr.io/geldata/gelpkg-upload-linux-x86_64:latest | |
| env: | |
| PKG_SUBDIST: "nightly" | |
| PKG_PLATFORM: "win" | |
| PKG_PLATFORM_VERSION: "aarch64" | |
| PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" | |
| PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}" | |
| publish-docker: | |
| needs: | |
| - publish-linux-x86_64 | |
| - publish-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 "gel" \ | |
| ;; \ | |
| *) \ | |
| cp -a "${artifact}" "/tmp/gel" \ | |
| ;; \ | |
| esac \ | |
| ) \ | |
| && chmod +x /tmp/gel | |
| FROM scratch | |
| COPY --from=download /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt | |
| COPY --from=download /tmp/gel /usr/bin/gel | |
| COPY --from=download /tmp/gel /usr/bin/edgedb | |
| ENTRYPOINT ["/usr/bin/gel"] | |
| EOF | |
| - env: | |
| VERSION: "${{ needs.publish-linux-x86_64.outputs.version }}" | |
| VERSION_CORE: "${{ needs.publish-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: geldata/gel-cli | |
| username: ${{ secrets.DOCKER_USERNAME }} | |
| password: ${{ secrets.DOCKER_PASSWORD }} | |
| tags: nightly | |
| workdir: dockerctx | |
| buildargs: install_ref_x86_64=${{ needs.publish-linux-x86_64.outputs.install-ref }},install_ref_aarch64=${{ needs.publish-linux-aarch64.outputs.install-ref }},subdist=nightly | |
| platforms: linux/amd64,linux/arm64 | |