0

Im following documentations on a Github service container for postgresql to do some testing before deployment.

So how my files are arranged is that i have one container for my NextJS web app, and want a separate container for my postgresql, using Prisma as an ORM to interface between both.

I dont know much about github service containers: from what i read, its supposed to be like creating a "temporary docker container for postgresql" so we can do some kind of database testing.

When i run the .yml workflow, i received an error: Github prisma adapter error

There doesnt seem to have any solutions for this online, nor are there tutorials on NextJS github service container postgres ci/cd pipeline testing.

This is my .yml workflow

name: PostgreSQL service example
on: push

jobs:
  # Label of the container job
  container-job:
    # Containers must run in Linux based operating systems
    runs-on: ubuntu-latest
    # Docker Hub image that `container-job` executes in
    container: node:14

    # Service containers to run with `container-job`
    services:
      # Label used to access the service container
      postgres:
        # Docker Hub image
        image: postgres
        # Provide the password for postgres
        env:
          POSTGRES_PASSWORD: postgres
        # Set health checks to wait until postgres has started
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          # Maps tcp port 5432 on service container to the host
          - 5432:5432

    steps:
      # Downloads a copy of the code in your repository before running CI tests
      - name: Check out repository code
        uses: actions/checkout@v4

      # Performs a clean installation of all dependencies in the `package.json` file
      # For more information, see https://docs.npmjs.com/cli/ci.html
      - name: Install dependencies
        run: npm ci

      - name: Connect to PostgreSQL
        # Runs a script that creates a PostgreSQL table, populates
        # the table with data, and then retrieves the data.
        run: node client.js
        # Environment variables used by the `client.js` script to create a new PostgreSQL table.
        env:
          # The hostname used to communicate with the PostgreSQL service container
          POSTGRES_HOST: postgres
          # The default PostgreSQL port
          POSTGRES_PORT: 5432

1 Answer 1

0

nvm, i found the solution.

i just need to change node 14 to node 22 (latest)

container: node:22

Not the answer you're looking for? Browse other questions tagged or ask your own question.