Skip to content

Add tests in CI (#4) #22

Add tests in CI (#4)

Add tests in CI (#4) #22

Workflow file for this run

name: Continuous Integration
on:
pull_request:
push:
branches:
- main
permissions:
contents: read
jobs:
test:
name: Test Container Image
runs-on: ubuntu-latest
# Run a local registry to push to
services:
registry:
image: registry:2
ports:
- 5001:5000
env:
TEST_TAG: localhost:5001/qbaware/nilaway-action:latest
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v4
- name: Setup Docker BuildX
id: setup-buildx
uses: docker/setup-buildx-action@v3
with:
install: true
driver-opts: network=host
- name: Build the Container
id: build
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ env.TEST_TAG }}
- name: No issues in a healthy package
id: test-healthy
working-directory: ./tests/healthypkg
run: |
echo "Running Docker command in the current directory: $(pwd)"
docker run \
-v .:/github/workspace \
-e PACKAGE_TO_SCAN="./..." \
--rm ${{ env.TEST_TAG }}
- name: Spot issues in an unhealthy package
id: test-unhealthy
working-directory: ./tests/unhealthypkg
run: |
set +e
echo "Running Docker command in the current directory: $(pwd)"
if docker run \
-v .:/github/workspace \
-e PACKAGE_TO_SCAN="./..." \
--rm ${{ env.TEST_TAG }}; then
echo "Container didn't fail when it should've"
exit 1
else
echo "Container failed as expected"
exit 0
fi