From 4cca2757782243945f63e8099e828ff2281503c5 Mon Sep 17 00:00:00 2001 From: Eitan Peer Date: Wed, 13 Aug 2025 15:31:07 +0300 Subject: [PATCH 1/6] CI: migrate from Travis to GitHub Actions (split legacy/modern) --- .github/workflows/ci.yml | 60 ++++++++++++++++++++++++++++++++++++++++ .travis.yml | 26 ----------------- 2 files changed, 60 insertions(+), 26 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..7005efb6 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,60 @@ +name: CI + +on: + push: + branches: ["**"] + pull_request: + branches: ["**"] + +jobs: + test-legacy: + name: Legacy Node ${{ matrix.node }} • tests + strategy: + fail-fast: false + matrix: + node: ["9", "10"] + runs-on: ubuntu-latest + container: + image: node:${{ matrix.node }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Print Node & npm versions + run: | + node -v + npm -v + + - name: Install dependencies + run: npm ci || npm i + + - name: Run tests (Travis parity) + run: npm run test-with-temp-cloud + + test-modern: + name: Node ${{ matrix.node }} • tests + strategy: + fail-fast: false + matrix: + node: ["12", "14", "16", "18", "20", "22"] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: ${{ matrix.node }} + cache: npm + + - name: Print Node & npm versions + run: | + node -v + npm -v + + - name: Install dependencies + run: npm ci || npm i + + - name: Run tests (Travis parity) + run: npm run test-with-temp-cloud diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2036647a..00000000 --- a/.travis.yml +++ /dev/null @@ -1,26 +0,0 @@ -language: node_js -dist: focal -matrix: - include: - - node_js: "9" - script: npm run test-with-temp-cloud - - node_js: "10" - script: npm run test-with-temp-cloud - - node_js: "12" - script: npm run test-with-temp-cloud - - node_js: "14" - script: npm run test-with-temp-cloud - - node_js: "16" - script: npm run test-with-temp-cloud - - node_js: "18" - script: npm run test-with-temp-cloud - - node_js: "20" - script: npm run test-with-temp-cloud - - node_js: "22" - script: npm run test-with-temp-cloud - - -notifications: - email: - recipients: - - sdk_developers@cloudinary.com From 8c1979a4c9c00eead04848f0d87666e3712b8b68 Mon Sep 17 00:00:00 2001 From: Eitan Peer Date: Wed, 13 Aug 2025 16:49:51 +0300 Subject: [PATCH 2/6] CI: fix GLIBC compatibility and npm cache issues - Use ubuntu-20.04 for legacy Node versions (9, 10) to avoid GLIBC_2.27+ requirements - Remove npm cache from setup-node since no package-lock.json exists --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7005efb6..e9c0b0ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,7 +13,7 @@ jobs: fail-fast: false matrix: node: ["9", "10"] - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 container: image: node:${{ matrix.node }} steps: @@ -46,7 +46,6 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node }} - cache: npm - name: Print Node & npm versions run: | From 4ad857b1af66d5a34daca87f7096763b81f144b0 Mon Sep 17 00:00:00 2001 From: Eitan Peer Date: Thu, 14 Aug 2025 13:54:26 +0300 Subject: [PATCH 3/6] chore: Try a new apporach for testing legacy Node versions --- .github/workflows/ci.yml | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9c0b0ce..60a7f246 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,21 +14,29 @@ jobs: matrix: node: ["9", "10"] runs-on: ubuntu-20.04 - container: - image: node:${{ matrix.node }} + timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 + - name: Setup Node.js (legacy) + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node }} + registry-url: 'https://registry.npmjs.org' + - name: Print Node & npm versions run: | node -v npm -v - - name: Install dependencies - run: npm ci || npm i + - name: Install dependencies (legacy compatible) + run: | + npm config set registry https://registry.npmjs.org/ + npm install --no-package-lock --legacy-peer-deps || npm install --no-package-lock - - name: Run tests (Travis parity) + - name: Run tests with timeout + timeout-minutes: 25 run: npm run test-with-temp-cloud test-modern: @@ -38,6 +46,7 @@ jobs: matrix: node: ["12", "14", "16", "18", "20", "22"] runs-on: ubuntu-latest + timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 @@ -55,5 +64,6 @@ jobs: - name: Install dependencies run: npm ci || npm i - - name: Run tests (Travis parity) + - name: Run tests with timeout + timeout-minutes: 25 run: npm run test-with-temp-cloud From 3244798d4c7e49556b45e34b378cdf592bdb2567 Mon Sep 17 00:00:00 2001 From: Eitan Peer Date: Mon, 15 Sep 2025 10:49:20 +0300 Subject: [PATCH 4/6] chore: remove testing of unsupported NodeJS vesrions --- .github/workflows/ci.yml | 34 +--------------------------------- package.json | 2 +- 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 60a7f246..77926226 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,39 +7,7 @@ on: branches: ["**"] jobs: - test-legacy: - name: Legacy Node ${{ matrix.node }} • tests - strategy: - fail-fast: false - matrix: - node: ["9", "10"] - runs-on: ubuntu-20.04 - timeout-minutes: 30 - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Setup Node.js (legacy) - uses: actions/setup-node@v3 - with: - node-version: ${{ matrix.node }} - registry-url: 'https://registry.npmjs.org' - - - name: Print Node & npm versions - run: | - node -v - npm -v - - - name: Install dependencies (legacy compatible) - run: | - npm config set registry https://registry.npmjs.org/ - npm install --no-package-lock --legacy-peer-deps || npm install --no-package-lock - - - name: Run tests with timeout - timeout-minutes: 25 - run: npm run test-with-temp-cloud - - test-modern: + test: name: Node ${{ matrix.node }} • tests strategy: fail-fast: false diff --git a/package.json b/package.json index 3a2ffdee..f4564f72 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,6 @@ "docs": "tools/scripts/docs.sh" }, "engines": { - "node": ">=9" + "node": ">=12" } } From b049b2bf092f0d879a61d6f329acdfccfe585084 Mon Sep 17 00:00:00 2001 From: Eitan Peer Date: Tue, 16 Sep 2025 15:02:22 +0300 Subject: [PATCH 5/6] fix: Restore onld node versions --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77926226..2133bc3c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - node: ["12", "14", "16", "18", "20", "22"] + node: ["9", "10", "12", "14", "16", "18", "20", "22"] runs-on: ubuntu-latest timeout-minutes: 30 steps: From 55313e78dbd7be1d946e40e5da795c349f56ca42 Mon Sep 17 00:00:00 2001 From: Eitan Peer Date: Thu, 18 Sep 2025 10:54:15 +0300 Subject: [PATCH 6/6] chore: Revert engines.node change back to 9 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f4564f72..3a2ffdee 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,6 @@ "docs": "tools/scripts/docs.sh" }, "engines": { - "node": ">=12" + "node": ">=9" } }