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:1972But 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)0
Comments
link is available now