Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mongo and mongosh disappeared? #39

Closed
scspijker opened this issue Nov 25, 2022 · 15 comments
Closed

mongo and mongosh disappeared? #39

scspijker opened this issue Nov 25, 2022 · 15 comments
Assignees

Comments

@scspijker
Copy link

Since today our builds fail because they can't find the mongo or mongosh clients. This is for both version 1.7.0 and 1.8.0 of this step.

Did this step install client software before and has something changes / broken, or did we accidentally get mongo client software from Github Actions itself?

@marcuspoehls
Copy link
Member

@scspijker Hey Stijn, you should have either the mongodb command when using the MongoDB 4.x release line or mongosh in MongoDB 5.x and 6.x. Can you please check your GitHub Actions logs for this package and have a look which version has been used to start the MongoDB container?

@marcuspoehls marcuspoehls self-assigned this Nov 25, 2022
@timmyg
Copy link

timmyg commented Nov 25, 2022

@scspijker @marcuspoehls seeing similar issue - we relied on this giving us mongo and mongoimport and now getting:

mongo: not found
and
mongoimport: not found

Using mongo:5.0

@marcuspoehls
Copy link
Member

@timmyg Hey Tim, thanks for confirming the issue.

@scspijker @timmyg Tim, Stijn, can you please share a link to a failed GitHub Actions job? I need more details on the error and some context in which it fails.

@ringsaturn
Copy link

ringsaturn commented Nov 26, 2022

@marcuspoehls
Copy link
Member

@ringsaturn Thank you for the repo! That helps.

You're using Ubuntu 22.04 on that runner. The new 22.04 runners don't have MongoDB installed anymore. MongoDB was available on 20.04, but removed on 22.04.

That's the reason you can't use the mongo, mongosh, and mongoimport commands directly. They would be available from within the MongoDB docker container. But not directly on the 22.04 host

@ringsaturn
Copy link

@marcuspoehls Thanks, it’s problem of Ubuntu 22.04 runner not this action.


For anyone interested in this problem, please track these issues:

@marcuspoehls
Copy link
Member

@ringsaturn Thanks for sharing the links!

@AdamGerthel
Copy link

AdamGerthel commented Mar 6, 2023

Any ideas on how to work around this? I tried installing mongo:

      - name: Install mongosh
        run: |
          sudo apt-get update
          sudo apt-get install gnupg
          wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
          echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
          sudo apt-get update
          sudo apt-get install -y mongodb-mongosh

But that didn't help. Still getting mongo: command not found

This is the whole file

name: Run Tests

on:
  push:
    branches: [master]
  pull_request:
    branches: [master]

jobs:
  build:
    runs-on: ubuntu-latest
    env:
      TEST_MONGODB_URI: mongodb://localhost:27017/test

    steps:
      - uses: actions/checkout@v3

      - name: Use Node.js 16.x
        uses: actions/setup-node@v3
        with:
          node-version: 16
          cache: 'yarn'

      - name: Install mongosh
        run: |
          sudo apt-get update
          sudo apt-get install gnupg
          wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
          echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
          sudo apt-get update
          sudo apt-get install -y mongodb-mongosh

      - name: Start MongoDB
        uses: supercharge/mongodb-github-action@1.8.0
        with:
          mongodb-version: 6.0

      - run: yarn install
      - run: yarn build
      - run: mongo --eval "db.getSiblingDB('test')"
      - run: yarn test

@marcuspoehls
Copy link
Member

@AdamGerthel Hey Adam, GitHub Action runners using Ubuntu-latest doesn’t have MongoDB installed on the host system. That means you can’t use the mongo command. You’re installing the MongoDB Shell mongosh and not MongoDB directly on the host. If I understand it correctly, you must install MongoDB itself to have the mongo command available.

@AdamGerthel
Copy link

@marcuspoehls

Ubuntu-latest doesn’t have MongoDB installed on the host system. That means you can’t use the mongo command.

Yeah I know - that's what I was trying to fix by adding the "Install mongosh" step.

You’re installing the MongoDB Shell mongosh and not MongoDB directly on the host.

Ok, I just followed the official install instructions and thought that would work. What would be the way to install mongodb and not mongosh then?

@marcuspoehls
Copy link
Member

@AdamGerthel

Your MongoDB installation is missing step 4:

sudo apt-get install -y mongodb-org

@AdamGerthel
Copy link

Ok, thanks! Still getting the same error nonetheless:

Run mongo --eval "db.getSiblingDB('test')"
/home/runner/work/_temp/596db73b-b917-44a6-b5e8-49f67dea387e.sh: line 1: mongo: command not found
Error: Process completed with exit code 127.

It looks like the install went well, so I'm not sure what the problem is. I've tried using Act to be able to test it locally, but for some reason, I haven't been able to get it working (which seems to be because my repo is private).

Any ideas on why mongo still isn't found?

@marcuspoehls
Copy link
Member

@AdamGerthel yep, the mongo command is no longer part of the MongoDB 6.0 installation. Sorry, I missed that detail. MongoDB 6.0 uses mongosh

@AdamGerthel
Copy link

Works - thanks!

@marcuspoehls
Copy link
Member

Sweet!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants