Skip to content

Docker test

Docker test #767

Workflow file for this run

name: Docker test
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
permissions:
contents: read
jobs:
build:
strategy:
matrix:
module: [ shell, compose, multiarch ]
include:
- module: shell
name: Docker with a shell script
path: docker
tool: docker
stop: docker stop lowkey-docker assumed-id-docker
- module: compose
name: Docker Compose with the classic image
path: docker-compose
tool: docker-compose
stop: docker compose down
- module: multiarch
name: Docker Compose with the multiarch image
path: docker-compose-multiarch
tool: docker-compose
stop: docker compose down
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Go
uses: actions/setup-go@7a3fe6cf4cb3a834922a1244abfce67bcef6a0c5 # v6.2.0
with:
go-version: '1.24.0'
- name: Start Lowkey Vault using Docker compose
if: ${{ matrix.tool == 'docker-compose' }}
run: |
cd ${{ matrix.path }}
echo "Running ${{ matrix.name }}"
docker compose up -d
sleep 5
docker ps
if [ $(docker ps | grep nagyesta | wc -l) -ne 2 ]; then echo "ERROR: Some containers are not running"; exit 1; fi
- name: Start Lowkey Vault using Docker command
if: ${{ matrix.tool == 'docker' }}
run: |
cd ${{ matrix.path }}
echo "Running ${{ matrix.name }}"
sh example.sh
sleep 5
docker ps
if [ $(docker ps | grep nagyesta | wc -l) -ne 2 ]; then echo "ERROR: Some containers are not running"; exit 1; fi
- name: Test with go
env:
IDENTITY_ENDPOINT: http://localhost:8080/metadata/identity/oauth2/token
IDENTITY_HEADER: header
run: |
go clean -testcache
go test ./test -v
- name: Stop container
if: always()
run: |
cd ${{ matrix.path }}
${{ matrix.stop }}