Skip to content
This repository has been archived by the owner on Aug 29, 2023. It is now read-only.

Commit

Permalink
add a README with a high-level description (#12)
Browse files Browse the repository at this point in the history
* add a README with a high-level description

* use relative links

* add a Usage section to the README

* improve description of go-check

* fix description of go-test
  • Loading branch information
marten-seemann authored Mar 4, 2021
1 parent bd4fed0 commit e5f9b96
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# CI Workflows

This repository contains GitHub Actions workflows used by various IPLD repositories.
By storing them in a central place (here), and distributing them in an automated way, we solve multiple problems:
1. Consistency: Every participating repository uses the same workflow, ensuring that our code adheres to the same coding standards and is properly tested.
2. Maintainability: Workflows change over time. We need to be able to make changes without manually updating dozens of repositories.

## Technical Details

This repository currently defines two workflows for Go repositories:
* [go-check](workflow-templates/go-check.yml): Performs static analysis, style, and formatting checks to help improve the code quality.
* [go-test](workflow-templates/go-test.yml): Runs all tests, using different compiler versions and operating systems.

Whenever one of these workflows is changed, this repository runs the [copy workflow](.github/workflows/copy-workflow.yml). This workflow creates a pull request in every participating repository to update *go-check* and *go-test*.
In order to help with the distribution of these workflows, this repository defines two additional workflows that are distributed across participating repositories:
* [autorebase](workflow-templates/autorebase.yml): Assume that we update *go-test* here, and this change uncovers a bug in one of the repositories. After this bug has to be fixed in that repo, commenting `@ipldbot rebase` on the pull request will trigger a rebase of that PR, such that we can be sure that the intended fix actually allows this workflow to pass.
* [automerge](workflow-templates/automerge.yml): In most cases, an update to the workflows will not cause CI to fail in most participating repositories. To make our life easier, *automerge* automatically merges the pull request if all checks succeed.

## Usage

Workflows are distributed to all repositories listed in [config.json](.github/workflows/config.json).
If you want your project to participle, please send a PR!

0 comments on commit e5f9b96

Please sign in to comment.