From 31188926474dd20952e76d1f421287c36a477724 Mon Sep 17 00:00:00 2001 From: Haru Date: Sat, 31 Aug 2024 17:32:46 +0200 Subject: [PATCH 1/5] Switch to actions/checkout@v4 This fixes the following deprecation warning in GitHub Actions: - 'The following actions use a deprecated Node.js version and will be forced to run on node20: actions/checkout@v3, actions/checkout@v1' Signed-off-by: Haru --- .github/workflows/build.yml | 2 +- .github/workflows/clang15_test.yml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/gcc_test.yml | 2 +- .github/workflows/gccold1.yml | 2 +- .github/workflows/gccold2.yml | 2 +- .github/workflows/gccold3.yml | 2 +- .github/workflows/gccsnapshot_test.yml | 2 +- .github/workflows/hwsapibot.yml | 2 +- .github/workflows/mariadb.yml | 2 +- .github/workflows/mysql.yml | 2 +- .github/workflows/tools.yml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 68630aed627..c20eda642be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -58,7 +58,7 @@ jobs: CC: ${{ matrix.CC }} CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/clang15_test.yml b/.github/workflows/clang15_test.yml index 2d1591a49c0..dd0bca158b1 100644 --- a/.github/workflows/clang15_test.yml +++ b/.github/workflows/clang15_test.yml @@ -55,7 +55,7 @@ jobs: CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} PACKET_VERSION: ${{ matrix.PACKET_VERSION }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b13f58b3276..b599394d271 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: # We must fetch at least the immediate parents so that if this is # a pull request then we can checkout the head. diff --git a/.github/workflows/gcc_test.yml b/.github/workflows/gcc_test.yml index 857c8a3d123..5dd7f208d65 100644 --- a/.github/workflows/gcc_test.yml +++ b/.github/workflows/gcc_test.yml @@ -55,7 +55,7 @@ jobs: CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-lto PACKET_VERSION: ${{ matrix.PACKET_VERSION }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/gccold1.yml b/.github/workflows/gccold1.yml index 9501ed00159..cd22d8f1012 100644 --- a/.github/workflows/gccold1.yml +++ b/.github/workflows/gccold1.yml @@ -55,7 +55,7 @@ jobs: CC: ${{ matrix.CC }} CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/gccold2.yml b/.github/workflows/gccold2.yml index c8cb601c8d1..fc9816ffb04 100644 --- a/.github/workflows/gccold2.yml +++ b/.github/workflows/gccold2.yml @@ -55,7 +55,7 @@ jobs: CC: ${{ matrix.CC }} CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/gccold3.yml b/.github/workflows/gccold3.yml index 07cd76ce035..37176209ad3 100644 --- a/.github/workflows/gccold3.yml +++ b/.github/workflows/gccold3.yml @@ -56,7 +56,7 @@ jobs: CC: ${{ matrix.CC }} CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/gccsnapshot_test.yml b/.github/workflows/gccsnapshot_test.yml index f25e938d1b4..721d93ff31a 100644 --- a/.github/workflows/gccsnapshot_test.yml +++ b/.github/workflows/gccsnapshot_test.yml @@ -55,7 +55,7 @@ jobs: CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-lto PACKET_VERSION: ${{ matrix.PACKET_VERSION }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/hwsapibot.yml b/.github/workflows/hwsapibot.yml index 6b39d8c405b..38311d29760 100644 --- a/.github/workflows/hwsapibot.yml +++ b/.github/workflows/hwsapibot.yml @@ -15,7 +15,7 @@ jobs: group: hwsapibot cancel-in-progress: true steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: info run: | diff --git a/.github/workflows/mariadb.yml b/.github/workflows/mariadb.yml index b16e1312f92..86abf1bde3d 100644 --- a/.github/workflows/mariadb.yml +++ b/.github/workflows/mariadb.yml @@ -53,7 +53,7 @@ jobs: CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} PACKET_VERSION: ${{ matrix.PACKET_VERSION }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/mysql.yml b/.github/workflows/mysql.yml index 2136cbec31d..ed10c8427fe 100644 --- a/.github/workflows/mysql.yml +++ b/.github/workflows/mysql.yml @@ -49,7 +49,7 @@ jobs: CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} PACKET_VERSION: ${{ matrix.PACKET_VERSION }} steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml index e883e1afe04..def194f4e07 100644 --- a/.github/workflows/tools.yml +++ b/.github/workflows/tools.yml @@ -22,7 +22,7 @@ jobs: container: image: debian:unstable steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v4 with: fetch-depth: 1 From d898cb5c22a7de9c43c0697d82888ee2d1fac1cb Mon Sep 17 00:00:00 2001 From: Haru Date: Sat, 31 Aug 2024 17:36:34 +0200 Subject: [PATCH 2/5] Switch to codeql-action/init@v3, codeql-action/autobuild@v3, codeql-action/analyze@v3 This fixes the following deprecation warnings in GitHub Actions: - 'The following actions use a deprecated Node.js version and will be forced to run on node20: github/codeql-action/init@v2, github/codeql-action/autobuild@v2, github/codeql-action/analyze@v2' - 'CodeQL Action v2 will be deprecated on December 5th, 2024. Please update all occurrences of the CodeQL Action in your workflow files to v3" Signed-off-by: Haru --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index b599394d271..206cb5505dc 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -31,14 +31,14 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@v3 with: languages: ${{ matrix.language }} # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@v3 - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@v3 From 71eeb07dbb1bdb8d60b886eec24b559557e9eca8 Mon Sep 17 00:00:00 2001 From: Haru Date: Sat, 31 Aug 2024 17:39:13 +0200 Subject: [PATCH 3/5] Remove the deprecated packet mysql-connector-c (replaced by mysql-client) in the macos CI builds This fixes the following deprecation warning in GitHub Actions: - 'Formula mysql-connector-c was renamed to mysql-client' Signed-off-by: Haru --- .github/workflows/macos_latest.yml | 2 +- .github/workflows/macos_m1.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/macos_latest.yml b/.github/workflows/macos_latest.yml index 02e2a86734d..e5deb6dfadc 100644 --- a/.github/workflows/macos_latest.yml +++ b/.github/workflows/macos_latest.yml @@ -7,7 +7,7 @@ env: MYSQL_USER: 'ragnarok' MYSQL_PASSWORD: 'ragnarok' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - MACOS_COMMON_PACKAGES: make zlib pcre mysql mysql-client mysql-connector-c + MACOS_COMMON_PACKAGES: make zlib pcre mysql mysql-client SQLHOST: 'localhost' jobs: diff --git a/.github/workflows/macos_m1.yml b/.github/workflows/macos_m1.yml index f4dbfa29454..20c889ae6e6 100644 --- a/.github/workflows/macos_m1.yml +++ b/.github/workflows/macos_m1.yml @@ -7,7 +7,7 @@ env: MYSQL_USER: 'ragnarok' MYSQL_PASSWORD: 'ragnarok' MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - MACOS_COMMON_PACKAGES: make zlib pcre mysql mysql-client mysql-connector-c + MACOS_COMMON_PACKAGES: make zlib pcre mysql mysql-client SQLHOST: 'localhost' jobs: From 409dc5fbe208f5f537b9c888cec2eb8b4a5e68f3 Mon Sep 17 00:00:00 2001 From: Haru Date: Sat, 31 Aug 2024 18:38:50 +0200 Subject: [PATCH 4/5] Reduce the GitHub Actions job timeout from 60 to 30 minutes The only jobs that take over 30 minutes are usually only the ones that got stuck. This ensures that stuck jobs don't hog the entire CI for too long. Signed-off-by: Haru --- .github/workflows/build.yml | 2 +- .github/workflows/clang15_test.yml | 2 +- .github/workflows/gcc_test.yml | 2 +- .github/workflows/gccold1.yml | 2 +- .github/workflows/gccold2.yml | 2 +- .github/workflows/gccold3.yml | 2 +- .github/workflows/gccsnapshot_test.yml | 2 +- .github/workflows/macos_latest.yml | 2 +- .github/workflows/macos_m1.yml | 2 +- .github/workflows/mariadb.yml | 2 +- .github/workflows/mysql.yml | 2 +- .github/workflows/windows.yml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c20eda642be..f19ae6b80d7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: # gcc, clang-8, clang-9 removed for reduce number of jobs diff --git a/.github/workflows/clang15_test.yml b/.github/workflows/clang15_test.yml index dd0bca158b1..8076fdcc81c 100644 --- a/.github/workflows/clang15_test.yml +++ b/.github/workflows/clang15_test.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [clang-15] diff --git a/.github/workflows/gcc_test.yml b/.github/workflows/gcc_test.yml index 5dd7f208d65..99b75637ed4 100644 --- a/.github/workflows/gcc_test.yml +++ b/.github/workflows/gcc_test.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [gcc] diff --git a/.github/workflows/gccold1.yml b/.github/workflows/gccold1.yml index cd22d8f1012..495666e666c 100644 --- a/.github/workflows/gccold1.yml +++ b/.github/workflows/gccold1.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: ["gcc-10", "gcc-9"] diff --git a/.github/workflows/gccold2.yml b/.github/workflows/gccold2.yml index fc9816ffb04..7f9c5840a2e 100644 --- a/.github/workflows/gccold2.yml +++ b/.github/workflows/gccold2.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: ["gcc-8", "gcc-7"] diff --git a/.github/workflows/gccold3.yml b/.github/workflows/gccold3.yml index 37176209ad3..2dbf32d70d9 100644 --- a/.github/workflows/gccold3.yml +++ b/.github/workflows/gccold3.yml @@ -13,7 +13,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: ["gcc-6", "gcc-5", "gcc-4.8"] diff --git a/.github/workflows/gccsnapshot_test.yml b/.github/workflows/gccsnapshot_test.yml index 721d93ff31a..f2631a03f0f 100644 --- a/.github/workflows/gccsnapshot_test.yml +++ b/.github/workflows/gccsnapshot_test.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [gcc] diff --git a/.github/workflows/macos_latest.yml b/.github/workflows/macos_latest.yml index e5deb6dfadc..394c5697886 100644 --- a/.github/workflows/macos_latest.yml +++ b/.github/workflows/macos_latest.yml @@ -13,7 +13,7 @@ env: jobs: build: runs-on: macos-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [clang] diff --git a/.github/workflows/macos_m1.yml b/.github/workflows/macos_m1.yml index 20c889ae6e6..7874a2e5c23 100644 --- a/.github/workflows/macos_m1.yml +++ b/.github/workflows/macos_m1.yml @@ -13,7 +13,7 @@ env: jobs: build: runs-on: macos-14 - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [clang] diff --git a/.github/workflows/mariadb.yml b/.github/workflows/mariadb.yml index 86abf1bde3d..14e8ce739d1 100644 --- a/.github/workflows/mariadb.yml +++ b/.github/workflows/mariadb.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [gcc] diff --git a/.github/workflows/mysql.yml b/.github/workflows/mysql.yml index ed10c8427fe..3342cf35361 100644 --- a/.github/workflows/mysql.yml +++ b/.github/workflows/mysql.yml @@ -12,7 +12,7 @@ env: jobs: build: runs-on: ubuntu-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [gcc] diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 7669990bf90..391cf307217 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -11,7 +11,7 @@ env: jobs: build: runs-on: windows-latest - timeout-minutes: 60 + timeout-minutes: 30 strategy: matrix: CC: [msbuild] From 0a322569465dadf331bd55a0be43f9dc9e59b0db Mon Sep 17 00:00:00 2001 From: Haru Date: Sat, 31 Aug 2024 23:49:41 +0200 Subject: [PATCH 5/5] Drop the CI builds that require Ubuntu 18.04, which has been EoL for several months The nodejs v20 actions require at least Ubuntu 20.04 to run. Downgrading to nodejs 16 and extending its agony for a few more months until they become fully unsupported seems pointless to me. Signed-off-by: Haru --- .github/workflows/controller.yml | 4 -- .github/workflows/gccold3.yml | 84 -------------------------------- 2 files changed, 88 deletions(-) delete mode 100644 .github/workflows/gccold3.yml diff --git a/.github/workflows/controller.yml b/.github/workflows/controller.yml index 1eeebf5d317..2b5cc80f00d 100644 --- a/.github/workflows/controller.yml +++ b/.github/workflows/controller.yml @@ -35,10 +35,6 @@ jobs: needs: build if: ${{ !failure() && !cancelled() }} uses: ./.github/workflows/gccold2.yml - gccold3: - needs: build - if: ${{ !failure() && !cancelled() }} - uses: ./.github/workflows/gccold3.yml gccsnapshot_test: needs: build if: ${{ !failure() && !cancelled() }} diff --git a/.github/workflows/gccold3.yml b/.github/workflows/gccold3.yml deleted file mode 100644 index 2dbf32d70d9..00000000000 --- a/.github/workflows/gccold3.yml +++ /dev/null @@ -1,84 +0,0 @@ -name: gcc_old3 - -on: workflow_call - -env: - MYSQL_DATABASE: 'ragnarok' - MYSQL_USER: 'ragnarok' - MYSQL_PASSWORD: 'ragnarok' - MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - DEBIAN_COMMON_PACKAGES: make zlib1g-dev libpcre3-dev git python3 libzstd-dev - SKIP_VALIDATE_INTERFACES: "skip" - -jobs: - build: - runs-on: ubuntu-latest - timeout-minutes: 30 - strategy: - matrix: - CC: ["gcc-6", "gcc-5", "gcc-4.8"] - RENEWAL: [""] - CLIENT_TYPE: ["", "--enable-packetver-re", "--enable-packetver-zero"] - HTTPLIB: ["", "--with-http_parser=llhttp"] - SANITIZER: ["--disable-manager --enable-sanitize=full"] - PACKET_VERSION: ["--enable-packetver=20100105", "--enable-packetver=20171018"] - LTO: [""] - exclude: - - PACKET_VERSION: "--enable-packetver=20100105" - CLIENT_TYPE: "--enable-packetver-zero" - - # github.head_ref will stop previous runs in the same PR (if in a PR) - # github.run_id is a fallback when outside a PR (e.g. every merge in master will run, and previous won't stop) - concurrency: - group: gccold3-${{ github.head_ref || github.run_id }}_${{ matrix.CC }}_${{ matrix.RENEWAL }}_${{ matrix.CLIENT_TYPE }}_${{ matrix.HTTPLIB }}_${{ matrix.SANITIZER }}_${{ matrix.PACKET_VERSION}}_${{ matrix.LTO }} - cancel-in-progress: true - - container: - image: ubuntu:18.04 - services: - mariadb: - image: mariadb:latest - ports: - - 33306:3306 - env: - MYSQL_DATABASE: 'ragnarok' - MYSQL_USER: 'ragnarok' - MYSQL_PASSWORD: 'ragnarok' - MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' - options: >- - --health-cmd="healthcheck.sh --connect --innodb_initialized" - --health-interval=5s - --health-timeout=2s - --health-retries=3 - env: - INSTALL_PACKAGES: ${{ matrix.CC }} mariadb-client libmariadbclient-dev-compat - SQLHOST: mariadb - CC: ${{ matrix.CC }} - CONFIGURE_FLAGS: CC=${{ matrix.CC }} --enable-debug --enable-Werror --enable-buildbot ${{ matrix.RENEWAL }} ${{ matrix.HTTPLIB }} ${{ matrix.CLIENT_TYPE }} ${{ matrix.SANITIZER }} ${{ matrix.PACKET_VERSION }} --enable-epoll - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - - name: info - run: | - uname -a - - - name: install packages - run: | - ./tools/ci/retry.sh apt-get update - ./tools/ci/retry.sh apt-get install -y -qq $INSTALL_PACKAGES $DEBIAN_COMMON_PACKAGES - - - name: init database - run: | - ./tools/ci/travis.sh importdb ragnarok ragnarok ragnarok $SQLHOST - - - name: get plugins - run: | - ./tools/ci/travis.sh getplugins || true - - - name: build - run: | - ./tools/ci/travis.sh build $CONFIGURE_FLAGS - - # for run default config will show warnings