· Feb 20, 2023

IRIS as a service in continuous integration

Such most popular nowadays CI platforms as GitHub and Gitlab, offers the ability to run any docker image as a service, mostly useful for integration tests.

And I could define a GitHub workflow like this for instance, for some of my Python project which, requires the connection to IRIS

name: IRIS container example
on: push
  # Label of the container job
    # Containers must run in Linux based operating systems
    runs-on: ubuntu-latest
    # Docker Hub image that `container-job` executes in
    container: python:310
    # Service containers to run with `container-job`
      # Label used to access the service container
        image: intersystemsdc/iris-community
          # Opens tcp port 1972 on the host and service container
          - 1972:1972
      # Downloads a copy of the code in your repository before running CI tests
      - name: Check out repository code
        uses: actions/checkout@v3
      # 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 IRIS
        # Runs a integration tests that connects to InterSystems IRIS
        run: pytest tests/integration
        # Environment variables used by the integration tests
          # The hostname used to communicate with the IRIS service container
          IRIS_HOST: iris
          # The default IRIS port
          IRIS_PORT: 1972

But the issue is in authorization, my python code, will not be able to connect to IRIS, because IRIS requires changing the password.

This way, my workflow would be much cleaner, and I could use matrix, so, I could test my application on various supported IRIS versions and Python versions. 

Posted this as an idea (link not available yet, until it's under review)

Discussion (1)3
Log in or sign up to continue