diff --git a/.github/workflows.src/build.inc.yml b/.github/workflows.src/build.inc.yml index 8f534c46d77..e14c5fcf8d8 100644 --- a/.github/workflows.src/build.inc.yml +++ b/.github/workflows.src/build.inc.yml @@ -3,6 +3,11 @@ runs-on: ubuntu-latest outputs: branch: ${{ steps.whichver.outputs.branch }} +<% if subdist == "nightly" %> +<% for tgt in targets.linux + targets.macos %> + if_<< tgt.name.replace('-', '_') >>: ${{ steps.scm.outputs.if_<< tgt.name.replace('-', '_') >> }} +<% endfor %> +<% endif %> steps: - uses: actions/checkout@v3 @@ -13,12 +18,72 @@ echo branch="${branch}" >> $GITHUB_OUTPUT id: whichver +<% if subdist == "nightly" %> + - name: Determine SCM revision + id: scm + shell: bash + run: | + rev=$(git rev-parse HEAD) + jq_filter='.packages[] | select(.basename == "edgedb-server") | select(.architecture == $ARCH) | .version_details.metadata.scm_revision | . as $rev | select(($rev != null) and ($REV | startswith($rev)))' +<% for tgt in targets.linux %> + val=true +<% if tgt.family == "debian" %> + idx_file=<< tgt.platform_version >>.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "<< tgt.arch >>" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing << tgt.name >>' + val=false + fi +<% elif tgt.family == "redhat" %> + idx_file=el<< tgt.platform_version >>.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "<< tgt.arch >>" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing << tgt.name >>' + val=false + fi +<% elif tgt.family == "generic" %> + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/<< tgt.platform_version >>-unknown-linux-<< "{}".format(tgt.platform_libc) if tgt.platform_libc else "gnu" >>.nightly.json | jq -r --arg REV "$rev" --arg ARCH "<< tgt.arch >>" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing << tgt.name >>' + val=false + fi +<% endif %> + echo if_<< tgt.name.replace('-', '_') >>="$val" >> $GITHUB_OUTPUT +<% endfor %> +<% for tgt in targets.macos %> + val=true +<% if tgt.platform == "macos" %> + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/<< tgt.platform_version >>-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "<< tgt.arch >>" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing << tgt.platform >>-<< tgt.platform_version >>' + val=false + fi +<% elif tgt.platform == "win" %> + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/<< tgt.platform_version >>-pc-windows-msvc.nightly.json | jq -r --arg REV "$rev" --arg ARCH "<< tgt.arch >>" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing << tgt.platform >>-<< tgt.platform_version >>' + val=false + fi +<% endif %> + echo if_<< tgt.name.replace('-', '_') >>="$val" >> $GITHUB_OUTPUT +<% endfor %> +<% endif %> + <%- for tgt in targets.linux %> <%- set plat_id = tgt.platform + ("{}".format(tgt.platform_libc) if tgt.platform_libc else "") + ("-{}".format(tgt.platform_version) if tgt.platform_version else "") %> build-<< tgt.name >>: runs-on: << tgt.runs_on if tgt.runs_on else "ubuntu-latest" >> needs: prep +<% if subdist == "nightly" %> + if: needs.prep.outputs.if_<< tgt.name.replace('-', '_') >> == 'true' +<% endif %> steps: - name: Build @@ -55,6 +120,9 @@ build-<< tgt.name >>: runs-on: << tgt.runs_on if tgt.runs_on else "macos-latest" >> needs: prep +<% if subdist == "nightly" %> + if: needs.prep.outputs.if_<< tgt.name.replace('-', '_') >> == 'true' +<% endif %> steps: - uses: actions/checkout@v3 @@ -89,7 +157,7 @@ <%- endif %> PKG_PLATFORM: "<< tgt.platform >>" PKG_PLATFORM_VERSION: "<< tgt.platform_version >>" - PKG_PLATFORM_ARCH: "<< tgt.platform_arch if tgt.platform_arch else '' >>" + PKG_PLATFORM_ARCH: "<< tgt.arch if tgt.arch else '' >>" METAPKG_GIT_CACHE: disabled <%- if tgt.family == "generic" %> BUILD_GENERIC: true diff --git a/.github/workflows.src/build.targets.yml b/.github/workflows.src/build.targets.yml index 85b503cde3c..ce8f7e1c2cc 100644 --- a/.github/workflows.src/build.targets.yml +++ b/.github/workflows.src/build.targets.yml @@ -6,109 +6,130 @@ publications: targets: linux: - name: debian-buster-x86_64 + arch: x86_64 platform: debian platform_version: buster family: debian runs_on: [self-hosted, linux, x64] docker_arch: linux/amd64 - name: debian-buster-aarch64 + arch: aarch64 platform: debian platform_version: buster family: debian runs_on: [self-hosted, linux, arm64] docker_arch: linux/arm64 - name: debian-bullseye-x86_64 + arch: x86_64 platform: debian platform_version: bullseye family: debian runs_on: [self-hosted, linux, x64] - name: debian-bullseye-aarch64 + arch: aarch64 platform: debian platform_version: bullseye family: debian runs_on: [self-hosted, linux, arm64] - name: debian-bookworm-x86_64 + arch: x86_64 platform: debian platform_version: bookworm family: debian runs_on: [self-hosted, linux, x64] - name: debian-bookworm-aarch64 + arch: aarch64 platform: debian platform_version: bookworm family: debian runs_on: [self-hosted, linux, arm64] - name: ubuntu-bionic-x86_64 + arch: x86_64 platform: ubuntu platform_version: bionic family: debian runs_on: [self-hosted, linux, x64] - name: ubuntu-bionic-aarch64 + arch: aarch64 platform: ubuntu platform_version: bionic family: debian runs_on: [self-hosted, linux, arm64] - name: ubuntu-focal-x86_64 + arch: x86_64 platform: ubuntu platform_version: focal family: debian runs_on: [self-hosted, linux, x64] - name: ubuntu-focal-aarch64 + arch: aarch64 platform: ubuntu platform_version: focal family: debian runs_on: [self-hosted, linux, arm64] - name: ubuntu-jammy-x86_64 + arch: x86_64 platform: ubuntu platform_version: jammy family: debian runs_on: [self-hosted, linux, x64] - name: ubuntu-jammy-aarch64 + arch: aarch64 platform: ubuntu platform_version: jammy family: debian runs_on: [self-hosted, linux, arm64] - name: centos-7-x86_64 + arch: x86_64 platform: centos platform_version: 7 family: redhat runs_on: [self-hosted, linux, x64] - name: centos-8-x86_64 + arch: x86_64 platform: centos platform_version: 8 family: redhat runs_on: [self-hosted, linux, x64] - name: centos-8-aarch64 + arch: aarch64 platform: centos platform_version: 8 family: redhat runs_on: [self-hosted, linux, arm64] - name: rockylinux-9-x86_64 + arch: x86_64 platform: rockylinux platform_version: 9 family: redhat runs_on: [self-hosted, linux, x64] - name: rockylinux-9-aarch64 + arch: aarch64 platform: rockylinux platform_version: 9 family: redhat runs_on: [self-hosted, linux, arm64] - name: linux-x86_64 + arch: x86_64 platform: linux platform_version: x86_64 family: generic runs_on: [self-hosted, linux, x64] - name: linux-aarch64 + arch: aarch64 platform: linux platform_version: aarch64 family: generic runs_on: [self-hosted, linux, arm64] - name: linuxmusl-x86_64 + arch: x86_64 platform: linux platform_version: x86_64 platform_libc: musl family: generic runs_on: [self-hosted, linux, x64] - name: linuxmusl-aarch64 + arch: aarch64 platform: linux platform_version: aarch64 platform_libc: musl @@ -117,12 +138,13 @@ targets: macos: - name: macos-x86_64 + arch: x86_64 platform: macos platform_version: x86_64 family: generic - platform_arch: x86_64 runs_on: [self-hosted, macOS, X64] - name: macos-aarch64 + arch: aarch64 platform: macos platform_version: aarch64 family: generic diff --git a/.github/workflows/dryrun.yml b/.github/workflows/dryrun.yml index 50426b7c4f2..4eb0520bf9d 100644 --- a/.github/workflows/dryrun.yml +++ b/.github/workflows/dryrun.yml @@ -9,6 +9,55 @@ jobs: runs-on: ubuntu-latest outputs: branch: ${{ steps.whichver.outputs.branch }} + + + 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_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_linuxmusl_x86_64: ${{ steps.scm.outputs.if_linuxmusl_x86_64 }} + + if_linuxmusl_aarch64: ${{ steps.scm.outputs.if_linuxmusl_aarch64 }} + + if_macos_x86_64: ${{ steps.scm.outputs.if_macos_x86_64 }} + + if_macos_aarch64: ${{ steps.scm.outputs.if_macos_aarch64 }} + + steps: - uses: actions/checkout@v3 @@ -19,10 +68,322 @@ jobs: echo branch="${branch}" >> $GITHUB_OUTPUT id: whichver + + - name: Determine SCM revision + id: scm + shell: bash + run: | + rev=$(git rev-parse HEAD) + jq_filter='.packages[] | select(.basename == "edgedb-server") | select(.architecture == $ARCH) | .version_details.metadata.scm_revision | . as $rev | select(($rev != null) and ($REV | startswith($rev)))' + + val=true + + idx_file=buster.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_buster_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=buster.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_buster_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bullseye.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bullseye_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bullseye.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bullseye_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bookworm.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bookworm_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bookworm.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bookworm_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bionic.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_bionic_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bionic.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_bionic_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=focal.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_focal_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=focal.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_focal_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=jammy.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_jammy_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=jammy.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_jammy_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el7.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_centos_7_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el8.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_centos_8_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el8.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_centos_8_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el9.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_rockylinux_9_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el9.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_rockylinux_9_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-unknown-linux-gnu.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + 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 -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-unknown-linux-gnu.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing linux-aarch64' + val=false + fi + + echo if_linux_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + out=$(curl -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") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing linuxmusl-x86_64' + val=false + fi + + echo if_linuxmusl_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-unknown-linux-musl.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing linuxmusl-aarch64' + val=false + fi + + echo if_linuxmusl_aarch64="$val" >> $GITHUB_OUTPUT + + + val=true + + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + 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 -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing macos-aarch64' + val=false + fi + + echo if_macos_aarch64="$val" >> $GITHUB_OUTPUT + + + build-debian-buster-x86_64: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_debian_buster_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -44,6 +405,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_debian_buster_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -65,6 +429,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_debian_bullseye_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -86,6 +453,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_debian_bullseye_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -107,6 +477,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_debian_bookworm_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -128,6 +501,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_debian_bookworm_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -149,6 +525,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_ubuntu_bionic_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -170,6 +549,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_ubuntu_bionic_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -191,6 +573,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_ubuntu_focal_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -212,6 +597,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_ubuntu_focal_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -233,6 +621,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_ubuntu_jammy_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -254,6 +645,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_ubuntu_jammy_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -275,6 +669,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_centos_7_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-7@master @@ -296,6 +693,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_centos_8_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -317,6 +717,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_centos_8_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -338,6 +741,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_rockylinux_9_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -359,6 +765,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_rockylinux_9_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -380,6 +789,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_linux_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-x86_64@master @@ -402,6 +814,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_linux_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-aarch64@master @@ -424,6 +839,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_linuxmusl_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-x86_64@master @@ -447,6 +865,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_linuxmusl_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-aarch64@master @@ -470,6 +891,9 @@ jobs: runs-on: ['self-hosted', 'macOS', 'X64'] needs: prep + if: needs.prep.outputs.if_macos_x86_64 == 'true' + + steps: - uses: actions/checkout@v3 with: @@ -513,6 +937,9 @@ jobs: runs-on: ['self-hosted', 'macOS', 'ARM64'] needs: prep + if: needs.prep.outputs.if_macos_aarch64 == 'true' + + steps: - uses: actions/checkout@v3 with: @@ -541,7 +968,7 @@ jobs: PKG_SUBDIST: "nightly" PKG_PLATFORM: "macos" PKG_PLATFORM_VERSION: "aarch64" - PKG_PLATFORM_ARCH: "" + PKG_PLATFORM_ARCH: "aarch64" METAPKG_GIT_CACHE: disabled BUILD_GENERIC: true run: | diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 8a0b0b7540c..648be336113 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -14,6 +14,55 @@ jobs: runs-on: ubuntu-latest outputs: branch: ${{ steps.whichver.outputs.branch }} + + + 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_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_linuxmusl_x86_64: ${{ steps.scm.outputs.if_linuxmusl_x86_64 }} + + if_linuxmusl_aarch64: ${{ steps.scm.outputs.if_linuxmusl_aarch64 }} + + if_macos_x86_64: ${{ steps.scm.outputs.if_macos_x86_64 }} + + if_macos_aarch64: ${{ steps.scm.outputs.if_macos_aarch64 }} + + steps: - uses: actions/checkout@v3 @@ -24,10 +73,322 @@ jobs: echo branch="${branch}" >> $GITHUB_OUTPUT id: whichver + + - name: Determine SCM revision + id: scm + shell: bash + run: | + rev=$(git rev-parse HEAD) + jq_filter='.packages[] | select(.basename == "edgedb-server") | select(.architecture == $ARCH) | .version_details.metadata.scm_revision | . as $rev | select(($rev != null) and ($REV | startswith($rev)))' + + val=true + + idx_file=buster.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_buster_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=buster.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_buster_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bullseye.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bullseye_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bullseye.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bullseye_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bookworm.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bookworm_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bookworm.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_debian_bookworm_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bionic.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_bionic_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=bionic.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_bionic_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=focal.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_focal_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=focal.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_focal_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=jammy.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_jammy_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=jammy.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_ubuntu_jammy_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el7.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_centos_7_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el8.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_centos_8_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el8.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_centos_8_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el9.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_rockylinux_9_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=el9.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + fi + 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 + + echo if_rockylinux_9_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-unknown-linux-gnu.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + 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 -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-unknown-linux-gnu.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing linux-aarch64' + val=false + fi + + echo if_linux_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + + out=$(curl -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") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing linuxmusl-x86_64' + val=false + fi + + echo if_linuxmusl_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-unknown-linux-musl.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing linuxmusl-aarch64' + val=false + fi + + echo if_linuxmusl_aarch64="$val" >> $GITHUB_OUTPUT + + + val=true + + out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + 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 -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing macos-aarch64' + val=false + fi + + echo if_macos_aarch64="$val" >> $GITHUB_OUTPUT + + + build-debian-buster-x86_64: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_debian_buster_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -49,6 +410,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_debian_buster_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -70,6 +434,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_debian_bullseye_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -91,6 +458,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_debian_bullseye_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -112,6 +482,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_debian_bookworm_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -133,6 +506,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_debian_bookworm_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -154,6 +530,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_ubuntu_bionic_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -175,6 +554,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_ubuntu_bionic_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -196,6 +578,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_ubuntu_focal_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -217,6 +602,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_ubuntu_focal_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -238,6 +626,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_ubuntu_jammy_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -259,6 +650,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_ubuntu_jammy_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -280,6 +674,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_centos_7_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-7@master @@ -301,6 +698,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_centos_8_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -322,6 +722,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_centos_8_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -343,6 +746,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_rockylinux_9_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -364,6 +770,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_rockylinux_9_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -385,6 +794,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_linux_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-x86_64@master @@ -407,6 +819,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_linux_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-aarch64@master @@ -429,6 +844,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + if: needs.prep.outputs.if_linuxmusl_x86_64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-x86_64@master @@ -452,6 +870,9 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + if: needs.prep.outputs.if_linuxmusl_aarch64 == 'true' + + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-aarch64@master @@ -475,6 +896,9 @@ jobs: runs-on: ['self-hosted', 'macOS', 'X64'] needs: prep + if: needs.prep.outputs.if_macos_x86_64 == 'true' + + steps: - uses: actions/checkout@v3 with: @@ -518,6 +942,9 @@ jobs: runs-on: ['self-hosted', 'macOS', 'ARM64'] needs: prep + if: needs.prep.outputs.if_macos_aarch64 == 'true' + + steps: - uses: actions/checkout@v3 with: @@ -546,7 +973,7 @@ jobs: PKG_SUBDIST: "nightly" PKG_PLATFORM: "macos" PKG_PLATFORM_VERSION: "aarch64" - PKG_PLATFORM_ARCH: "" + PKG_PLATFORM_ARCH: "aarch64" METAPKG_GIT_CACHE: disabled BUILD_GENERIC: true run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2c1131b637d..c93627ecc9e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,7 @@ jobs: runs-on: ubuntu-latest outputs: branch: ${{ steps.whichver.outputs.branch }} + steps: - uses: actions/checkout@v3 @@ -19,10 +20,13 @@ jobs: echo branch="${branch}" >> $GITHUB_OUTPUT id: whichver + + build-debian-buster-x86_64: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -44,6 +48,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -65,6 +70,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -86,6 +92,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -107,6 +114,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -128,6 +136,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -149,6 +158,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -170,6 +180,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -191,6 +202,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -212,6 +224,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -233,6 +246,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -254,6 +268,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -275,6 +290,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-7@master @@ -296,6 +312,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -317,6 +334,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -338,6 +356,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -359,6 +378,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -380,6 +400,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-x86_64@master @@ -402,6 +423,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-aarch64@master @@ -424,6 +446,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-x86_64@master @@ -447,6 +470,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-aarch64@master @@ -470,6 +494,7 @@ jobs: runs-on: ['self-hosted', 'macOS', 'X64'] needs: prep + steps: - uses: actions/checkout@v3 with: @@ -513,6 +538,7 @@ jobs: runs-on: ['self-hosted', 'macOS', 'ARM64'] needs: prep + steps: - uses: actions/checkout@v3 with: @@ -541,7 +567,7 @@ jobs: PKG_REVISION: "" PKG_PLATFORM: "macos" PKG_PLATFORM_VERSION: "aarch64" - PKG_PLATFORM_ARCH: "" + PKG_PLATFORM_ARCH: "aarch64" METAPKG_GIT_CACHE: disabled BUILD_GENERIC: true run: | diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 1b9556ec60e..21f67dcd130 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -9,6 +9,7 @@ jobs: runs-on: ubuntu-latest outputs: branch: ${{ steps.whichver.outputs.branch }} + steps: - uses: actions/checkout@v3 @@ -19,10 +20,13 @@ jobs: echo branch="${branch}" >> $GITHUB_OUTPUT id: whichver + + build-debian-buster-x86_64: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -45,6 +49,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-buster@master @@ -67,6 +72,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -89,6 +95,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bullseye@master @@ -111,6 +118,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -133,6 +141,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/debian-bookworm@master @@ -155,6 +164,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -177,6 +187,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-bionic@master @@ -199,6 +210,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -221,6 +233,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-focal@master @@ -243,6 +256,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -265,6 +279,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-jammy@master @@ -287,6 +302,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-7@master @@ -309,6 +325,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -331,6 +348,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/centos-8@master @@ -353,6 +371,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -375,6 +394,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/rockylinux-9@master @@ -397,6 +417,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-x86_64@master @@ -420,6 +441,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linux-aarch64@master @@ -443,6 +465,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'x64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-x86_64@master @@ -467,6 +490,7 @@ jobs: runs-on: ['self-hosted', 'linux', 'arm64'] needs: prep + steps: - name: Build uses: edgedb/edgedb-pkg/integration/linux/build/linuxmusl-aarch64@master @@ -491,6 +515,7 @@ jobs: runs-on: ['self-hosted', 'macOS', 'X64'] needs: prep + steps: - uses: actions/checkout@v3 with: @@ -535,6 +560,7 @@ jobs: runs-on: ['self-hosted', 'macOS', 'ARM64'] needs: prep + steps: - uses: actions/checkout@v3 with: @@ -564,7 +590,7 @@ jobs: PKG_SUBDIST: "testing" PKG_PLATFORM: "macos" PKG_PLATFORM_VERSION: "aarch64" - PKG_PLATFORM_ARCH: "" + PKG_PLATFORM_ARCH: "aarch64" METAPKG_GIT_CACHE: disabled BUILD_GENERIC: true run: |