Build, Test, and Publish a Release #98
Workflow file for this run
This file contains 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 a Release | |
on: | |
workflow_dispatch: | |
inputs: {} | |
jobs: | |
prep: | |
runs-on: ubuntu-latest | |
outputs: | |
branch: ${{ steps.whichver.outputs.branch }} | |
scm_revision: ${{ steps.whatrev.outputs.rev }} | |
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 | |
build-debian-buster-x86_64: | |
runs-on: ubuntu-latest | |
needs: prep | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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 | |
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 }}" | |
BUILD_IS_RELEASE: "true" | |
PKG_REVISION: "<current-date>" | |
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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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: "" | |
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: "${{ steps.tags.outputs.tags }}" | |
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= | |
platforms: linux/amd64,linux/arm64 | |