From e0065a5159af6004471eb7a3832a6c312d237158 Mon Sep 17 00:00:00 2001 From: Ning Sun Date: Tue, 4 Mar 2025 16:40:29 -0800 Subject: [PATCH] ci: remove ubuntu 20.04 runners (#5545) * ci: remove ubuntu 20.04 runners * chore: update ec2-github-runner action as author suggests * fix: use latest ubuntu image for fuzz test * Update action.yml * Update action.yml --------- Co-authored-by: shuiyisong <113876041+shuiyisong@users.noreply.github.com> Co-authored-by: liyang --- .github/actions/start-runner/action.yml | 2 +- .github/actions/stop-runner/action.yml | 2 +- .github/workflows/apidoc.yml | 2 +- .github/workflows/dev-build.yml | 22 ++++++++-------- .github/workflows/develop.yml | 22 ++++++++-------- .github/workflows/docbot.yml | 2 +- .github/workflows/docs.yml | 16 ++++++------ .github/workflows/nightly-build.yml | 22 ++++++++-------- .github/workflows/nightly-ci.yml | 6 ++--- .../workflows/release-dev-builder-images.yaml | 6 ++--- .github/workflows/release.yml | 26 +++++++++---------- .github/workflows/semantic-pull-request.yml | 2 +- docker/buildx/ubuntu/Dockerfile | 2 +- docker/ci/ubuntu/Dockerfile.fuzztests | 2 +- docker/dev-builder/ubuntu/Dockerfile-20.04 | 2 +- 15 files changed, 68 insertions(+), 68 deletions(-) diff --git a/.github/actions/start-runner/action.yml b/.github/actions/start-runner/action.yml index 10d482b2bf..78568e26d7 100644 --- a/.github/actions/start-runner/action.yml +++ b/.github/actions/start-runner/action.yml @@ -56,7 +56,7 @@ runs: - name: Start EC2 runner if: startsWith(inputs.runner, 'ec2') - uses: machulav/ec2-github-runner@v2 + uses: machulav/ec2-github-runner@v2.3.8 id: start-linux-arm64-ec2-runner with: mode: start diff --git a/.github/actions/stop-runner/action.yml b/.github/actions/stop-runner/action.yml index 24a720b624..e25a1d8dad 100644 --- a/.github/actions/stop-runner/action.yml +++ b/.github/actions/stop-runner/action.yml @@ -33,7 +33,7 @@ runs: - name: Stop EC2 runner if: ${{ inputs.label && inputs.ec2-instance-id }} - uses: machulav/ec2-github-runner@v2 + uses: machulav/ec2-github-runner@v2.3.8 with: mode: stop label: ${{ inputs.label }} diff --git a/.github/workflows/apidoc.yml b/.github/workflows/apidoc.yml index 6bbca5d9a2..eb7a720a42 100644 --- a/.github/workflows/apidoc.yml +++ b/.github/workflows/apidoc.yml @@ -14,7 +14,7 @@ name: Build API docs jobs: apidoc: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/dev-build.yml b/.github/workflows/dev-build.yml index 6697e7331b..f325018ffa 100644 --- a/.github/workflows/dev-build.yml +++ b/.github/workflows/dev-build.yml @@ -16,11 +16,11 @@ on: description: The runner uses to build linux-amd64 artifacts default: ec2-c6i.4xlarge-amd64 options: - - ubuntu-20.04 - - ubuntu-20.04-8-cores - - ubuntu-20.04-16-cores - - ubuntu-20.04-32-cores - - ubuntu-20.04-64-cores + - ubuntu-22.04 + - ubuntu-22.04-8-cores + - ubuntu-22.04-16-cores + - ubuntu-22.04-32-cores + - ubuntu-22.04-64-cores - ec2-c6i.xlarge-amd64 # 4C8G - ec2-c6i.2xlarge-amd64 # 8C16G - ec2-c6i.4xlarge-amd64 # 16C32G @@ -83,7 +83,7 @@ jobs: allocate-runners: name: Allocate runners if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: linux-amd64-runner: ${{ steps.start-linux-amd64-runner.outputs.label }} linux-arm64-runner: ${{ steps.start-linux-arm64-runner.outputs.label }} @@ -218,7 +218,7 @@ jobs: build-linux-amd64-artifacts, build-linux-arm64-artifacts, ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: build-result: ${{ steps.set-build-result.outputs.build-result }} steps: @@ -251,7 +251,7 @@ jobs: allocate-runners, release-images-to-dockerhub, ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest continue-on-error: true steps: - uses: actions/checkout@v4 @@ -283,7 +283,7 @@ jobs: name: Stop linux-amd64 runner # Only run this job when the runner is allocated. if: ${{ always() }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: [ allocate-runners, build-linux-amd64-artifacts, @@ -309,7 +309,7 @@ jobs: name: Stop linux-arm64 runner # Only run this job when the runner is allocated. if: ${{ always() }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: [ allocate-runners, build-linux-arm64-artifacts, @@ -337,7 +337,7 @@ jobs: needs: [ release-images-to-dockerhub ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest permissions: issues: write diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index fb454b1857..e9267ebe72 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -23,7 +23,7 @@ concurrency: jobs: check-typos-and-docs: name: Check typos and docs - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: @@ -36,7 +36,7 @@ jobs: || (echo "'config/config.md' is not up-to-date, please run 'make config-docs'." && exit 1) license-header-check: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest name: Check License Header steps: - uses: actions/checkout@v4 @@ -49,7 +49,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-20.04 ] + os: [ ubuntu-latest ] timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -72,7 +72,7 @@ jobs: toml: name: Toml Check - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -89,7 +89,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-20.04 ] + os: [ ubuntu-latest ] timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -248,7 +248,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-20.04 ] + os: [ ubuntu-latest ] timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -568,7 +568,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-20.04 ] + os: [ ubuntu-latest ] mode: - name: "Basic" opts: "" @@ -607,7 +607,7 @@ jobs: fmt: name: Rustfmt - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -624,7 +624,7 @@ jobs: clippy: name: Clippy - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -710,7 +710,7 @@ jobs: coverage: if: github.event_name == 'merge_group' - runs-on: ubuntu-20.04-8-cores + runs-on: ubuntu-22.04-8-cores timeout-minutes: 60 steps: - uses: actions/checkout@v4 @@ -770,7 +770,7 @@ jobs: # compat: # name: Compatibility Test # needs: build - # runs-on: ubuntu-20.04 + # runs-on: ubuntu-22.04 # timeout-minutes: 60 # steps: # - uses: actions/checkout@v4 diff --git a/.github/workflows/docbot.yml b/.github/workflows/docbot.yml index fc79bb4cfe..250a150c02 100644 --- a/.github/workflows/docbot.yml +++ b/.github/workflows/docbot.yml @@ -9,7 +9,7 @@ concurrency: jobs: docbot: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest permissions: pull-requests: write contents: read diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 61f78a84fd..650ea64597 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,7 +31,7 @@ name: CI jobs: typos: name: Spell Check with Typos - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: @@ -39,7 +39,7 @@ jobs: - uses: crate-ci/typos@master license-header-check: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest name: Check License Header steps: - uses: actions/checkout@v4 @@ -49,29 +49,29 @@ jobs: check: name: Check - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - run: 'echo "No action required"' fmt: name: Rustfmt - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - run: 'echo "No action required"' clippy: name: Clippy - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - run: 'echo "No action required"' coverage: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - run: 'echo "No action required"' test: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - run: 'echo "No action required"' @@ -80,7 +80,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [ ubuntu-20.04 ] + os: [ ubuntu-latest ] mode: - name: "Basic" - name: "Remote WAL" diff --git a/.github/workflows/nightly-build.yml b/.github/workflows/nightly-build.yml index b0b7f3fbe3..6640d1d3df 100644 --- a/.github/workflows/nightly-build.yml +++ b/.github/workflows/nightly-build.yml @@ -14,11 +14,11 @@ on: description: The runner uses to build linux-amd64 artifacts default: ec2-c6i.4xlarge-amd64 options: - - ubuntu-20.04 - - ubuntu-20.04-8-cores - - ubuntu-20.04-16-cores - - ubuntu-20.04-32-cores - - ubuntu-20.04-64-cores + - ubuntu-22.04 + - ubuntu-22.04-8-cores + - ubuntu-22.04-16-cores + - ubuntu-22.04-32-cores + - ubuntu-22.04-64-cores - ec2-c6i.xlarge-amd64 # 4C8G - ec2-c6i.2xlarge-amd64 # 8C16G - ec2-c6i.4xlarge-amd64 # 16C32G @@ -70,7 +70,7 @@ jobs: allocate-runners: name: Allocate runners if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: linux-amd64-runner: ${{ steps.start-linux-amd64-runner.outputs.label }} linux-arm64-runner: ${{ steps.start-linux-arm64-runner.outputs.label }} @@ -182,7 +182,7 @@ jobs: build-linux-amd64-artifacts, build-linux-arm64-artifacts, ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: nightly-build-result: ${{ steps.set-nightly-build-result.outputs.nightly-build-result }} steps: @@ -214,7 +214,7 @@ jobs: allocate-runners, release-images-to-dockerhub, ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest # When we push to ACR, it's easy to fail due to some unknown network issues. # However, we don't want to fail the whole workflow because of this. # The ACR have daily sync with DockerHub, so don't worry about the image not being updated. @@ -249,7 +249,7 @@ jobs: name: Stop linux-amd64 runner # Only run this job when the runner is allocated. if: ${{ always() }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: [ allocate-runners, build-linux-amd64-artifacts, @@ -275,7 +275,7 @@ jobs: name: Stop linux-arm64 runner # Only run this job when the runner is allocated. if: ${{ always() }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: [ allocate-runners, build-linux-arm64-artifacts, @@ -303,7 +303,7 @@ jobs: needs: [ release-images-to-dockerhub ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest permissions: issues: write env: diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index 041e1ef673..ed172effe9 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -13,7 +13,7 @@ jobs: sqlness-test: name: Run sqlness test if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 @@ -133,7 +133,7 @@ jobs: name: Check status needs: [sqlness-test, sqlness-windows, test-on-windows] if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: check-result: ${{ steps.set-check-result.outputs.check-result }} steps: @@ -146,7 +146,7 @@ jobs: if: ${{ github.repository == 'GreptimeTeam/greptimedb' && always() }} # Not requiring successful dependent jobs, always run. name: Send notification to Greptime team needs: [check-status] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL_DEVELOP_CHANNEL }} steps: diff --git a/.github/workflows/release-dev-builder-images.yaml b/.github/workflows/release-dev-builder-images.yaml index 90a3d33f50..1abb359ba7 100644 --- a/.github/workflows/release-dev-builder-images.yaml +++ b/.github/workflows/release-dev-builder-images.yaml @@ -29,7 +29,7 @@ jobs: release-dev-builder-images: name: Release dev builder images if: ${{ inputs.release_dev_builder_ubuntu_image || inputs.release_dev_builder_centos_image || inputs.release_dev_builder_android_image }} # Only manually trigger this job. - runs-on: ubuntu-22.04-16-cores + runs-on: ubuntu-latest outputs: version: ${{ steps.set-version.outputs.version }} steps: @@ -63,7 +63,7 @@ jobs: release-dev-builder-images-ecr: name: Release dev builder images to AWS ECR - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest needs: [ release-dev-builder-images ] @@ -148,7 +148,7 @@ jobs: release-dev-builder-images-cn: # Note: Be careful issue: https://github.com/containers/skopeo/issues/1874 and we decide to use the latest stable skopeo container. name: Release dev builder images to CN region - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest needs: [ release-dev-builder-images ] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1277bed774..35f62e174a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,11 +18,11 @@ on: description: The runner uses to build linux-amd64 artifacts default: ec2-c6i.4xlarge-amd64 options: - - ubuntu-20.04 - - ubuntu-20.04-8-cores - - ubuntu-20.04-16-cores - - ubuntu-20.04-32-cores - - ubuntu-20.04-64-cores + - ubuntu-22.04 + - ubuntu-22.04-8-cores + - ubuntu-22.04-16-cores + - ubuntu-22.04-32-cores + - ubuntu-22.04-64-cores - ec2-c6i.xlarge-amd64 # 4C8G - ec2-c6i.2xlarge-amd64 # 8C16G - ec2-c6i.4xlarge-amd64 # 16C32G @@ -97,7 +97,7 @@ jobs: allocate-runners: name: Allocate runners if: ${{ github.repository == 'GreptimeTeam/greptimedb' }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest outputs: linux-amd64-runner: ${{ steps.start-linux-amd64-runner.outputs.label }} linux-arm64-runner: ${{ steps.start-linux-arm64-runner.outputs.label }} @@ -299,7 +299,7 @@ jobs: build-linux-amd64-artifacts, build-linux-arm64-artifacts, ] - runs-on: ubuntu-2004-16-cores + runs-on: ubuntu-latest outputs: build-image-result: ${{ steps.set-build-image-result.outputs.build-image-result }} steps: @@ -335,7 +335,7 @@ jobs: build-windows-artifacts, release-images-to-dockerhub, ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest # When we push to ACR, it's easy to fail due to some unknown network issues. # However, we don't want to fail the whole workflow because of this. # The ACR have daily sync with DockerHub, so don't worry about the image not being updated. @@ -377,7 +377,7 @@ jobs: build-windows-artifacts, release-images-to-dockerhub, ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: @@ -396,7 +396,7 @@ jobs: name: Stop linux-amd64 runner # Only run this job when the runner is allocated. if: ${{ always() }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: [ allocate-runners, build-linux-amd64-artifacts, @@ -422,7 +422,7 @@ jobs: name: Stop linux-arm64 runner # Only run this job when the runner is allocated. if: ${{ always() }} - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest needs: [ allocate-runners, build-linux-arm64-artifacts, @@ -448,7 +448,7 @@ jobs: name: Bump doc version if: ${{ github.event_name == 'push' || github.event_name == 'schedule' }} needs: [allocate-runners] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest # Permission reference: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs permissions: issues: write # Allows the action to create issues for cyborg. @@ -475,7 +475,7 @@ jobs: build-macos-artifacts, build-windows-artifacts, ] - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest # Permission reference: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs permissions: issues: write # Allows the action to create issues for cyborg. diff --git a/.github/workflows/semantic-pull-request.yml b/.github/workflows/semantic-pull-request.yml index 3d58f3538e..8805b1e8c3 100644 --- a/.github/workflows/semantic-pull-request.yml +++ b/.github/workflows/semantic-pull-request.yml @@ -13,7 +13,7 @@ concurrency: jobs: check: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v4 diff --git a/docker/buildx/ubuntu/Dockerfile b/docker/buildx/ubuntu/Dockerfile index 181ebd68bf..86bf9e2669 100644 --- a/docker/buildx/ubuntu/Dockerfile +++ b/docker/buildx/ubuntu/Dockerfile @@ -1,4 +1,4 @@ -FROM ubuntu:20.04 as builder +FROM ubuntu:22.04 as builder ARG CARGO_PROFILE ARG FEATURES diff --git a/docker/ci/ubuntu/Dockerfile.fuzztests b/docker/ci/ubuntu/Dockerfile.fuzztests index 247010f5ef..db49e11e03 100644 --- a/docker/ci/ubuntu/Dockerfile.fuzztests +++ b/docker/ci/ubuntu/Dockerfile.fuzztests @@ -1,4 +1,4 @@ -FROM ubuntu:22.04 +FROM ubuntu:latest # The binary name of GreptimeDB executable. # Defaults to "greptime", but sometimes in other projects it might be different. diff --git a/docker/dev-builder/ubuntu/Dockerfile-20.04 b/docker/dev-builder/ubuntu/Dockerfile-20.04 index efa28aca06..d78046698c 100644 --- a/docker/dev-builder/ubuntu/Dockerfile-20.04 +++ b/docker/dev-builder/ubuntu/Dockerfile-20.04 @@ -41,7 +41,7 @@ RUN mv protoc3/include/* /usr/local/include/ # and the repositories are pulled from trusted sources (still us, of course). Doing so does not violate the intention # of the Git's addition to the "safe.directory" at the first place (see the commit message here: # https://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9). -# There's also another solution to this, that we add the desired submodules to the safe directory, instead of using +# There's also another solution to this, that we add the desired submodules to the safe directory, instead of using # wildcard here. However, that requires the git's config files and the submodules all owned by the very same user. # It's troublesome to do this since the dev build runs in Docker, which is under user "root"; while outside the Docker, # it can be a different user that have prepared the submodules.