diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b49b93f..418f742 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,11 @@ concurrency: jobs: ci: name: Test - runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, ubuntu-22.04] + runs-on: ${{ matrix.os }} timeout-minutes: 5 steps: - name: ๐Ÿ“ฅ Checkout repository @@ -23,7 +27,7 @@ jobs: - name: ๐ŸŸข Setup Node.js runtime uses: actions/setup-node@v4 with: - node-version: 'lts/*' + node-version: '24.x' check-latest: true - name: ๐Ÿงช Run tests diff --git a/bin/m b/bin/m index f10e444..082fc90 100755 --- a/bin/m +++ b/bin/m @@ -983,9 +983,9 @@ get_distro_and_arch() { ubuntu-16*) distros="ubuntu1604 ubuntu1404" ;; ubuntu-18*) distros="ubuntu1804 ubuntu1604" ;; ubuntu-20*) distros="ubuntu2004 ubuntu1804" ;; - ubuntu-22*) distros="ubuntu2204 ubuntu2004" ;; + ubuntu-22*) distros="ubuntu2204 ubuntu2004 ubuntu1804" ;; # see #156 ubuntu-24*) distros="ubuntu2404 ubuntu2204 ubuntu2004" ;; - ubuntu-*) distros="ubuntu2404 ubuntu2204" ;; + ubuntu-*) distros="ubuntu2404 ubuntu2204 ubuntu2004" ;; linuxmint-17*) distros="ubuntu1404" ;; linuxmint-18*) distros="ubuntu1604" ;; diff --git a/package.json b/package.json index 0b59e49..299aefc 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "/SECURITY.md" ], "scripts": { - "test": "node test/suite.mjs" + "test": "node test/suite.mjs --test-only" }, "keywords": [ "mongodb", diff --git a/test/suite.mjs b/test/suite.mjs index 0a47e41..5a7bc3a 100755 --- a/test/suite.mjs +++ b/test/suite.mjs @@ -16,7 +16,6 @@ function run(args = [], opts = {}) { const env = { ...process.env, M_CACHE: '0', - M_DEBUG: '0', ...opts.env ?? {}, M_PREFIX, M_CONFIRM: '0', @@ -217,6 +216,19 @@ describe('m - MongoDB Version Management', { concurrency: 5 }, () => { assert.equal(result.exitCode, 0); assert.match(result.stdout, new RegExp(`Removed MongoDB version ${version}`, 'i')); }); + + if (process.env.ImageOS === 'ubuntu22') { + test('mongo 4.2 installs on ubuntu22 - #156', async () => { + const version = '4.2'; + const result1 = await run([version], { env: { M_DEBUG: '1' } }); + console.log('debug\n', result1.stderr.split('\n').map(l => ` ${l}`).join('\n')); + assert.match(result1.stdout, new RegExp(`Activating: MongoDB Server ${version}`, 'i')); + assert.equal(result1.exitCode, 0); + const result2 = await run(); + assert.match(result2.stdout, new RegExp(version, 'i')); + assert.equal(result2.exitCode, 0); + }) + } }); describe('Source URL Commands', () => {