Written by

IRIS Developer Advocate, Software developer at CaretDev, Tabcorp
Discussion Dmitry Maslennikov · 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:IRIScontainerexampleon:pushjobs:# 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:python:310# Service containers to run with `container-job`    services:# Label used to access the service container      iris:        image:intersystemsdc/iris-community        ports:# Opens tcp port 1972 on the host and service container          -1972:1972    steps:# Downloads a copy of the code in your repository before running CI tests      - name:Checkoutrepositorycode        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:Installdependencies        run:npmci      - name:ConnecttoIRIS# Runs a integration tests that connects to InterSystems IRIS        run:pytesttests/integration# Environment variables used by the integration tests        env:# 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)

Comments