mirror of
https://github.com/librenms/docker.git
synced 2026-01-23 10:15:22 +00:00
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
81 lines
2.1 KiB
YAML
81 lines
2.1 KiB
YAML
name: test
|
|
|
|
concurrency:
|
|
group: test-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
paths-ignore:
|
|
- '**.md'
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**.md'
|
|
|
|
env:
|
|
BUILD_TAG: librenms-test
|
|
CONTAINER_NAME: librenms
|
|
RUNNING_TIMEOUT: 120
|
|
RUNNING_LOG_CHECK: ready to handle connections
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
-
|
|
name: Checkout
|
|
uses: actions/checkout@v3
|
|
-
|
|
name: Set up QEMU
|
|
uses: docker/setup-qemu-action@v2
|
|
-
|
|
name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
-
|
|
name: Build
|
|
uses: docker/bake-action@v2
|
|
with:
|
|
targets: image-local
|
|
env:
|
|
DEFAULT_TAG: ${{ env.BUILD_TAG }}
|
|
-
|
|
name: Start
|
|
run: |
|
|
docker compose up -d
|
|
working-directory: test
|
|
env:
|
|
LIBRENMS_IMAGE: ${{ env.BUILD_TAG }}
|
|
LIBRENMS_CONTAINER: ${{ env.CONTAINER_NAME }}
|
|
-
|
|
name: Test run
|
|
run: |
|
|
TIMEOUT=$((SECONDS + ${{ env.RUNNING_TIMEOUT }}))
|
|
while read LOGLINE; do
|
|
echo ${LOGLINE}
|
|
if [[ ${LOGLINE} == *"${{ env.RUNNING_LOG_CHECK }}"* ]]; then
|
|
echo "🎉 Container up!"
|
|
break
|
|
fi
|
|
if [[ $SECONDS -gt ${TIMEOUT} ]]; then
|
|
>&2 echo "❌ Failed to run ${{ env.CONTAINER_NAME }} container"
|
|
exit 1
|
|
fi
|
|
done < <(docker logs -f ${{ env.CONTAINER_NAME }} 2>&1)
|
|
|
|
CONTAINER_STATUS=$(docker container inspect --format "{{.State.Status}}" ${{ env.CONTAINER_NAME }})
|
|
if [[ ${CONTAINER_STATUS} != "running" ]]; then
|
|
>&2 echo "❌ Container ${{ env.CONTAINER_NAME }} returned status '$CONTAINER_STATUS'"
|
|
exit 1
|
|
fi
|
|
-
|
|
name: Logs
|
|
if: always()
|
|
run: |
|
|
docker compose logs
|
|
docker compose down --volumes > /dev/null 2>&1 || true
|
|
working-directory: test
|
|
env:
|
|
LIBRENMS_IMAGE: ${{ env.BUILD_TAG }}
|
|
LIBRENMS_CONTAINER: ${{ env.CONTAINER_NAME }}
|