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
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: 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: 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
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)3
Comments
link is available now