From a6b7732416b66eb7a22eba60e91c87416b757f2c Mon Sep 17 00:00:00 2001 From: Tim Paine Date: Thu, 2 Mar 2023 15:57:43 -0500 Subject: [PATCH] setup actions --- .github/dependabot.yml | 6 ++++ .github/workflows/build.yml | 63 +++++++++++++++++++++++++++++++++++++ README.md | 3 ++ 3 files changed, 72 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/build.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..5ace460 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..b1f5a7c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,63 @@ +name: Build Status + +on: + push: + branches: + - main + tags: + - v* + paths-ignore: + - CONTRIBUTING.md + - LICENSE + - README.md + pull_request: + workflow_dispatch: + +jobs: + build: + runs-on: ${{ matrix.os }} + + strategy: + matrix: + os: [ubuntu-latest] + python-version: [3.9] + + steps: + - uses: actions/checkout@v3 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + cache: "pip" + cache-dependency-path: 'pyproject.toml' + + - name: Install dependencies + run: | + make develop + + - name: Build + run: | + make build + + - name: Lint + run: | + make lint + + - name: Checks + run: | + make checks + + - name: Test + run: | + make coverage + + - name: Upload test results + uses: actions/upload-artifact@v3 + with: + name: pytest-results-${{ matrix.os }}-${{ matrix.python-version }} + path: python_junit.xml + if: ${{ always() }} + + - name: Upload coverage + uses: codecov/codecov-action@v3 diff --git a/README.md b/README.md index 68a3f65..3ef4a42 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@ # example-project-python Example python project +[![Build Status](https://github.com/ColumbiaOSS/example-project-python/workflows/Build%20Status/badge.svg?branch=main)](https://github.com/ColumbiaOSS/example-project-python/actions?query=workflow%3A%22Build+Status%22) +[![codecov](https://codecov.io/gh/ColumbiaOSS/example-project-python/branch/main/graph/badge.svg)](https://codecov.io/gh/ColumbiaOSS/example-project-python) + ## Details This project is a pure python project using modern tooling. It uses a `Makefile` as a command registry, with the following commands: - `make`: list available commands