--- name: Docker Image CI on: push: branches: - master pull_request: types: [opened, synchronize, reopened] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Build the Docker image run: docker compose build --no-cache - name: Verify the Docker image # smoke test by checking if the migrations for app netbox_slm can be displayed run: docker compose run netbox sh -c "/opt/netbox/venv/bin/python manage.py showmigrations netbox_slm" - name: Run Django tests with coverage for netbox_slm run: | chmod go+w ci/reports docker compose run netbox sh -c "\ /opt/netbox/venv/bin/coverage run --source='netbox_slm' manage.py test netbox_slm &&\ /opt/netbox/venv/bin/coverage report --fail-under=0 &&\ /opt/netbox/venv/bin/coverage xml -o /ci/reports/coverage.xml" timeout-minutes: 6 - name: Sonar scan if: env.SONAR_TOKEN != null uses: SonarSource/sonarqube-scan-action@v4 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}