Loading .github/workflows/build-test.yml +20 −75 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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() Loading
.github/workflows/build-test.yml +20 −75 Original line number Diff line number Diff line Loading @@ -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: Loading @@ -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()