An open API service indexing awesome lists of open source software.

https://github.com/adbc-drivers/dev

Common development tooling and CI configuration
https://github.com/adbc-drivers/dev

adbc

Last synced: 5 months ago
JSON representation

Common development tooling and CI configuration

Awesome Lists containing this project

README

          

# Developer Tools for ADBC Drivers

This repository contains common infrastructure (pre-commit hooks, reusable
workflows for GitHub Actions, etc.)

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md).

## Installation & Usage

### pre-commit: License Header Check

The [pre-commit](https://pre-commit.com/) hook runs [Apache
RAT](https://creadur.apache.org/rat/), which checks and ensures proper
copyright/license headers are present.

Add this repository to your `.pre-commit-config.yaml`:

```yaml
- repo: https://github.com/adbc-drivers/dev
rev: ""
hooks:
- id: rat
```

### GitHub Actions

There are various [reusable workflows][reusable-workflow]. They can be used
by adding a `uses:` clause to your own workflow. For example:

```yaml
jobs:
lint:
uses: adbc-drivers/dev/.github/workflows/dev.yaml@REVISION
```

- `dev.yaml`: runs `pre-commit` and checks that the PR title meets the
[Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/)
standard.
- `dev_issues.yaml`: intended to be run when a "take" comment is made on an
issue. Assigns the issue to the commenter.
- `release.yaml`: create a draft release on GitHub with an attached changelog.
- `test.yaml`: build and test a Go-based driver. If tests pass, also create
shared libraries for each platform/architecture.
- `validate.yaml`: run the validation suite.

### Utility Scripts

You can `pip install .` to install the utility scripts. This should be done
with a virtual environment or Conda environment active.

[reusable-workflow]: https://docs.github.com/en/actions/sharing-automations/reusing-workflows