Commit 35db6ecb authored by Duggan, John's avatar Duggan, John
Browse files

Test CI minus coverage info

parent b564c0a9
Loading
Loading
Loading
Loading
+27 −17
Original line number Diff line number Diff line
@@ -19,24 +19,34 @@ jobs:
      GIT_STRATEGY: clone
      IMAGE_NAME: "${NDIP_DOCKER_REPOSITORY}/${{ github.repository }}"
    steps:
      - uses: actions/checkout@v4
      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3
      - name: Checkout repo
        uses: actions/checkout@v4
        with:
          fetch-depth: 20
          lfs: true

      # refer to nova-examples as reference for how to build with QEMU and load into CI
      - run: docker login -u $NDIP_DOCKER_USER -p $NDIP_DOCKER_PASSWORD $NDIP_DOCKER_REPOSITORY
      - run: export VERSION=$(cat pyproject.toml | grep "version =" | head -n 1 | awk '{ print $3 }' | tr -d '"')
      - run: docker build -f dockerfiles/Dockerfile --target source -t image .
      - run: docker run -u `id -u`:`id -g` image poetry run ruff check
      - run: docker run -u `id -u`:`id -g` image poetry run ruff format --check
      - run: docker run -u `id -u`:`id -g` image poetry run mypy .

      - run: mkdir reports
      - run: docker run -u `id -u`:`id -g` -v `pwd`/reports:/src/reports ${IMAGE_NAME}:src-${{ github.sha }} poetry run coverage run
      - run: docker run -u `id -u`:`id -g` -v `pwd`/reports:/src/reports ${IMAGE_NAME}:src-${{ github.sha }} poetry run coverage report
      - run: docker run -u `id -u`:`id -g` -v `pwd`/reports:/src/reports ${IMAGE_NAME}:src-${{ github.sha }} poetry run coverage xml -o reports/coverage.xml
      - run: sed -i "s:<source>/src:<source>${{ github.workspace }}/${{ github.repository }}:" reports/coverage.xml
      - name: Build
        uses: docker/build-push-action@v6
        id: build
        with:
          file: Dockerfile
          load: true
      - name: Run ruff check
        run: docker run --rm ${{ steps.build.outputs.imageid }} poetry run ruff check
      - name: Run format check
        run: docker run --rm ${{ steps.build.outputs.imageid }} poetry run ruff format --check
      - name: Run mypy
        run: docker run --rm ${{ steps.build.outputs.imageid }} poetry run mypy .
      - name: Unit tests
        run: docker run --rm ${{ steps.build.outputs.imageid }} poetry run pytest
      # - run: mkdir reports
      # - run: docker run -u `id -u`:`id -g` -v `pwd`/reports:/src/reports ${IMAGE_NAME}:src-${{ github.sha }} poetry run coverage run
      # - run: docker run -u `id -u`:`id -g` -v `pwd`/reports:/src/reports ${IMAGE_NAME}:src-${{ github.sha }} poetry run coverage report
      # - run: docker run -u `id -u`:`id -g` -v `pwd`/reports:/src/reports ${IMAGE_NAME}:src-${{ github.sha }} poetry run coverage xml -o reports/coverage.xml
      # - run: sed -i "s:<source>/src:<source>${{ github.workspace }}/${{ github.repository }}:" reports/coverage.xml
      # need to figure out coverage rules

      - run: docker run -u `id -u`:`id -g` ${IMAGE_NAME}:src-${{ github.sha }} bash build_docs.sh
      - name: Docs test
      - run: docker run --rm ${{ steps.build.outputs.imageid }} bash build_docs.sh