Commit b564c0a9 authored by Duggan, John's avatar Duggan, John
Browse files

temp

parent 06db86de
Loading
Loading
Loading
Loading
+20 −75
Original line number Diff line number Diff line
@@ -12,7 +12,7 @@ env:
  NDIP_DOCKER_REPOSITORY: "${{ secrets.NDIP_DOCKER_REPOSITORY }}"

jobs:
  lint-check:
  build-and-test:
    runs-on: ubuntu-latest
    timeout-minutes: 60
    env:
@@ -23,75 +23,20 @@ jobs:
        with:
          fetch-depth: 20
          lfs: true
    - run: curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
    - run: source rse-bash-modules.sh
    - run: func_rse_docker_cleanup

      # 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: docker tag image ${IMAGE_NAME}:src-${{ github.sha }}
    - run: docker push ${IMAGE_NAME}:src-${{ github.sha }}
    - run: curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
      if: always()
    - run: source rse-bash-modules.sh
      if: always()
    - run: func_rse_docker_cleanup
      if: always()

  unit-tests:
    needs: lint-check
    runs-on: ubuntu-latest
    timeout-minutes: 60
    env:
      GIT_STRATEGY: clone
      IMAGE_NAME: "${NDIP_DOCKER_REPOSITORY}/${{ github.repository }}"
    steps:
    - uses: actions/checkout@v4.1.0
      with:
        fetch-depth: 20
        lfs: true
    - run: curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
    - run: source rse-bash-modules.sh
    - run: func_rse_docker_cleanup
    - 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: 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: curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
      if: always()
    - run: source rse-bash-modules.sh
      if: always()
    - run: func_rse_docker_cleanup
      if: always()

  docs-test:
    needs: lint-check
    runs-on: ubuntu-latest
    timeout-minutes: 60
    env:
      GIT_STRATEGY: clone
      IMAGE_NAME: "${NDIP_DOCKER_REPOSITORY}/${{ github.repository }}"
    steps:
    - uses: actions/checkout@v4.1.0
      with:
        fetch-depth: 20
        lfs: true
    - run: curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
    - run: source rse-bash-modules.sh
    - run: func_rse_docker_cleanup
    - 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 run -u `id -u`:`id -g` ${IMAGE_NAME}:src-${{ github.sha }} bash build_docs.sh
    - run: curl https://code.ornl.gov/rse-deployment/rse-sharables/raw/master/rse-bash-modules.sh -O
      if: always()
    - run: source rse-bash-modules.sh
      if: always()
    - run: func_rse_docker_cleanup
      if: always()