diff --git a/.github/workflows.src/build.inc.yml b/.github/workflows.src/build.inc.yml index 328fc7943..0680480e2 100644 --- a/.github/workflows.src/build.inc.yml +++ b/.github/workflows.src/build.inc.yml @@ -33,25 +33,29 @@ <% 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 + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + 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 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 + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + 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 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") + out=$(curl --fail -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" || true) if [ -n "$out" ]; then echo 'Skip rebuilding existing << tgt.name >>' val=false @@ -62,13 +66,13 @@ <% for tgt in targets.macos + targets.win %> 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") + out=$(curl --fail -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" || true) 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") + out=$(curl --fail -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" || true) if [ -n "$out" ]; then echo 'Skip rebuilding existing << tgt.platform >>-<< tgt.platform_version >>' val=false diff --git a/.github/workflows.src/build.targets.yml b/.github/workflows.src/build.targets.yml index 48a70f410..e9f362737 100644 --- a/.github/workflows.src/build.targets.yml +++ b/.github/workflows.src/build.targets.yml @@ -67,6 +67,17 @@ targets: family: debian arch: aarch64 runs_on: [self-hosted, linux, arm64] + - name: ubuntu-noble-x86_64 + platform: ubuntu + platform_version: noble + family: debian + arch: x86_64 + - name: ubuntu-noble-aarch64 + platform: ubuntu + platform_version: noble + family: debian + arch: aarch64 + runs_on: [self-hosted, linux, arm64] - name: centos-7-x86_64 platform: centos platform_version: 7 diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 68a8eade0..dbccfdc07 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -41,6 +41,10 @@ jobs: if_ubuntu_jammy_aarch64: ${{ steps.scm.outputs.if_ubuntu_jammy_aarch64 }} + if_ubuntu_noble_x86_64: ${{ steps.scm.outputs.if_ubuntu_noble_x86_64 }} + + if_ubuntu_noble_aarch64: ${{ steps.scm.outputs.if_ubuntu_noble_aarch64 }} + if_centos_7_x86_64: ${{ steps.scm.outputs.if_centos_7_x86_64 }} if_centos_8_x86_64: ${{ steps.scm.outputs.if_centos_8_x86_64 }} @@ -86,12 +90,14 @@ jobs: idx_file=buster.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing debian-buster-x86_64' + val=false + fi fi echo if_debian_buster_x86_64="$val" >> $GITHUB_OUTPUT @@ -100,12 +106,14 @@ jobs: idx_file=buster.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing debian-buster-aarch64' + val=false + fi fi echo if_debian_buster_aarch64="$val" >> $GITHUB_OUTPUT @@ -114,12 +122,14 @@ jobs: idx_file=bullseye.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing debian-bullseye-x86_64' + val=false + fi fi echo if_debian_bullseye_x86_64="$val" >> $GITHUB_OUTPUT @@ -128,12 +138,14 @@ jobs: idx_file=bullseye.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing debian-bullseye-aarch64' + val=false + fi fi echo if_debian_bullseye_aarch64="$val" >> $GITHUB_OUTPUT @@ -142,12 +154,14 @@ jobs: idx_file=bookworm.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing debian-bookworm-x86_64' + val=false + fi fi echo if_debian_bookworm_x86_64="$val" >> $GITHUB_OUTPUT @@ -156,12 +170,14 @@ jobs: idx_file=bookworm.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing debian-bookworm-aarch64' + val=false + fi fi echo if_debian_bookworm_aarch64="$val" >> $GITHUB_OUTPUT @@ -170,12 +186,14 @@ jobs: idx_file=bionic.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-bionic-x86_64' + val=false + fi fi echo if_ubuntu_bionic_x86_64="$val" >> $GITHUB_OUTPUT @@ -184,12 +202,14 @@ jobs: idx_file=bionic.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-bionic-aarch64' + val=false + fi fi echo if_ubuntu_bionic_aarch64="$val" >> $GITHUB_OUTPUT @@ -198,12 +218,14 @@ jobs: idx_file=focal.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-focal-x86_64' + val=false + fi fi echo if_ubuntu_focal_x86_64="$val" >> $GITHUB_OUTPUT @@ -212,12 +234,14 @@ jobs: idx_file=focal.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-focal-aarch64' + val=false + fi fi echo if_ubuntu_focal_aarch64="$val" >> $GITHUB_OUTPUT @@ -226,12 +250,14 @@ jobs: idx_file=jammy.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-jammy-x86_64' + val=false + fi fi echo if_ubuntu_jammy_x86_64="$val" >> $GITHUB_OUTPUT @@ -240,26 +266,62 @@ jobs: idx_file=jammy.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/apt/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-jammy-aarch64' + val=false + fi fi echo if_ubuntu_jammy_aarch64="$val" >> $GITHUB_OUTPUT val=true + idx_file=noble.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file + fi + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-noble-x86_64' + val=false + fi + fi + + echo if_ubuntu_noble_x86_64="$val" >> $GITHUB_OUTPUT + + val=true + + idx_file=noble.nightly.json + if [ ! -e "/tmp/$idx_file" ]; then + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/apt/.jsonindexes/$idx_file + fi + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing ubuntu-noble-aarch64' + val=false + fi + fi + + echo if_ubuntu_noble_aarch64="$val" >> $GITHUB_OUTPUT + + val=true + idx_file=el7.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing centos-7-x86_64' + val=false + fi fi echo if_centos_7_x86_64="$val" >> $GITHUB_OUTPUT @@ -268,12 +330,14 @@ jobs: idx_file=el8.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing centos-8-x86_64' + val=false + fi fi echo if_centos_8_x86_64="$val" >> $GITHUB_OUTPUT @@ -282,12 +346,14 @@ jobs: idx_file=el8.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing centos-8-aarch64' + val=false + fi fi echo if_centos_8_aarch64="$val" >> $GITHUB_OUTPUT @@ -296,12 +362,14 @@ jobs: idx_file=el9.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing rockylinux-9-x86_64' + val=false + fi fi echo if_rockylinux_9_x86_64="$val" >> $GITHUB_OUTPUT @@ -310,19 +378,21 @@ jobs: idx_file=el9.nightly.json if [ ! -e "/tmp/$idx_file" ]; then - curl -s https://packages.edgedb.com/rpm/.jsonindexes/$idx_file > /tmp/$idx_file + curl --fail -s -o /tmp/$idx_file https://packages.edgedb.com/rpm/.jsonindexes/$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 + if [ -e "/tmp/$idx_file" ]; then + out=$(cat /tmp/$idx_file | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter") + if [ -n "$out" ]; then + echo 'Skip rebuilding existing rockylinux-9-aarch64' + val=false + fi fi echo if_rockylinux_9_aarch64="$val" >> $GITHUB_OUTPUT val=true - out=$(curl -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") + out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-unknown-linux-musl.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter" || true) if [ -n "$out" ]; then echo 'Skip rebuilding existing linux-x86_64' val=false @@ -332,7 +402,7 @@ jobs: 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") + out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-unknown-linux-musl.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter" || true) if [ -n "$out" ]; then echo 'Skip rebuilding existing linux-aarch64' val=false @@ -343,7 +413,7 @@ jobs: 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") + out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter" || true) if [ -n "$out" ]; then echo 'Skip rebuilding existing macos-x86_64' val=false @@ -353,7 +423,7 @@ jobs: 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") + out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/aarch64-apple-darwin.nightly.json | jq -r --arg REV "$rev" --arg ARCH "aarch64" "$jq_filter" || true) if [ -n "$out" ]; then echo 'Skip rebuilding existing macos-aarch64' val=false @@ -363,7 +433,7 @@ jobs: val=true - out=$(curl -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-pc-windows-msvc.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter") + out=$(curl --fail -s https://packages.edgedb.com/archive/.jsonindexes/x86_64-pc-windows-msvc.nightly.json | jq -r --arg REV "$rev" --arg ARCH "x86_64" "$jq_filter" || true) if [ -n "$out" ]; then echo 'Skip rebuilding existing win-x86_64' val=false @@ -783,6 +853,74 @@ jobs: path: artifacts/ubuntu-jammy/ + build-ubuntu-noble-x86_64: + runs-on: ubuntu-latest + needs: prep + + if: needs.prep.outputs.if_ubuntu_noble_x86_64 == 'true' + + + steps: + - uses: actions/checkout@v4 + with: + repository: edgedb/edgedb-pkg + ref: master + path: edgedb-pkg + + - name: Build + uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-noble@master + env: + SRC_REF: "${{ needs.prep.outputs.branch }}" + PKG_REVISION: "" + PKG_SUBDIST: "nightly" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_PLATFORM_ARCH: "x86_64" + PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI + EXTRA_OPTIMIZATIONS: "true" + + + + - uses: actions/upload-artifact@v4 + with: + name: builds-ubuntu-noble-x86_64 + path: artifacts/ubuntu-noble/ + + + build-ubuntu-noble-aarch64: + runs-on: ['self-hosted', 'linux', 'arm64'] + needs: prep + + if: needs.prep.outputs.if_ubuntu_noble_aarch64 == 'true' + + + steps: + - uses: actions/checkout@v4 + with: + repository: edgedb/edgedb-pkg + ref: master + path: edgedb-pkg + + - name: Build + uses: edgedb/edgedb-pkg/integration/linux/build/ubuntu-noble@master + env: + SRC_REF: "${{ needs.prep.outputs.branch }}" + PKG_REVISION: "" + PKG_SUBDIST: "nightly" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_PLATFORM_ARCH: "aarch64" + PACKAGE: edgedbpkg.edgedbcli:EdgeDBCLI + EXTRA_OPTIMIZATIONS: "true" + + + + - uses: actions/upload-artifact@v4 + with: + name: builds-ubuntu-noble-aarch64 + path: artifacts/ubuntu-noble/ + + build-centos-7-x86_64: runs-on: ubuntu-latest needs: prep @@ -1897,6 +2035,122 @@ jobs: install-ref: "${{ steps.describe.outputs.install-ref }}" + publish-ubuntu-noble-x86_64: + needs: [build-ubuntu-noble-x86_64] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-x86_64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Publish + uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master + env: + PKG_SUBDIST: "nightly" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" + PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}" + + + check-published-ubuntu-noble-x86_64: + needs: [publish-ubuntu-noble-x86_64] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-x86_64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Test Published + uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-noble@master + env: + PKG_NAME: "${{ steps.describe.outputs.name }}" + PKG_SUBDIST: "nightly" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}" + PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" + + outputs: + version: "${{ steps.describe.outputs.version }}" + version-core: "${{ steps.describe.outputs.version-core }}" + install-ref: "${{ steps.describe.outputs.install-ref }}" + + + publish-ubuntu-noble-aarch64: + needs: [build-ubuntu-noble-aarch64] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-aarch64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Publish + uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master + env: + PKG_SUBDIST: "nightly" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" + PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}" + + + check-published-ubuntu-noble-aarch64: + needs: [publish-ubuntu-noble-aarch64] + runs-on: ['self-hosted', 'linux', 'arm64'] + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-aarch64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Test Published + uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-noble@master + env: + PKG_NAME: "${{ steps.describe.outputs.name }}" + PKG_SUBDIST: "nightly" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}" + PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" + + outputs: + version: "${{ steps.describe.outputs.version }}" + version-core: "${{ steps.describe.outputs.version-core }}" + install-ref: "${{ steps.describe.outputs.install-ref }}" + + publish-centos-7-x86_64: needs: [build-centos-7-x86_64] runs-on: ubuntu-latest diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eee331bd2..8798d0d71 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -411,6 +411,70 @@ jobs: 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: "" + 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: "" + 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 @@ -1481,6 +1545,118 @@ jobs: 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 diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 97fe10472..0acfafce5 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -423,6 +423,72 @@ jobs: 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: "" + PKG_SUBDIST: "testing" + 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: "" + PKG_SUBDIST: "testing" + 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 @@ -1527,6 +1593,122 @@ jobs: install-ref: "${{ steps.describe.outputs.install-ref }}" + publish-ubuntu-noble-x86_64: + needs: [build-ubuntu-noble-x86_64] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-x86_64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Publish + uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master + env: + PKG_SUBDIST: "testing" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" + PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}" + + + check-published-ubuntu-noble-x86_64: + needs: [publish-ubuntu-noble-x86_64] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-x86_64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Test Published + uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-noble@master + env: + PKG_NAME: "${{ steps.describe.outputs.name }}" + PKG_SUBDIST: "testing" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_INSTALL_REF: "${{ steps.describe.outputs.install-ref }}" + PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" + + outputs: + version: "${{ steps.describe.outputs.version }}" + version-core: "${{ steps.describe.outputs.version-core }}" + install-ref: "${{ steps.describe.outputs.install-ref }}" + + + publish-ubuntu-noble-aarch64: + needs: [build-ubuntu-noble-aarch64] + runs-on: ubuntu-latest + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-aarch64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Publish + uses: edgedb/edgedb-pkg/integration/linux/upload/linux-x86_64@master + env: + PKG_SUBDIST: "testing" + PKG_PLATFORM: "ubuntu" + PKG_PLATFORM_VERSION: "noble" + PKG_VERSION_SLOT: "${{ steps.describe.outputs.version-slot }}" + PACKAGE_UPLOAD_SSH_KEY: "${{ secrets.PACKAGE_UPLOAD_SSH_KEY }}" + + + check-published-ubuntu-noble-aarch64: + needs: [publish-ubuntu-noble-aarch64] + runs-on: ['self-hosted', 'linux', 'arm64'] + + steps: + - uses: actions/download-artifact@v4 + with: + name: builds-ubuntu-noble-aarch64 + path: artifacts/ubuntu-noble/ + + - name: Describe + id: describe + uses: edgedb/edgedb-pkg/integration/actions/describe-artifact@master + with: + target: ubuntu-noble + + - name: Test Published + uses: edgedb/edgedb-pkg/integration/linux/testpublished/ubuntu-noble@master + env: + PKG_NAME: "${{ steps.describe.outputs.name }}" + PKG_SUBDIST: "testing" + 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