-
Notifications
You must be signed in to change notification settings - Fork 973
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into hlib/adr-metrics
- Loading branch information
Showing
579 changed files
with
46,714 additions
and
17,530 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
#!/bin/sh | ||
|
||
set -eu -o pipefail | ||
|
||
STAGED_GO_FILES=$(git diff --cached --name-only -- '*.go') | ||
STAGED_MD_FILES=$(git diff --cached --name-only -- '*.md') | ||
|
||
if [[ $STAGED_GO_FILES == "" ]] && [[ $STAGED_MD_FILES == "" ]]; then | ||
echo "--> Found no go or markdown files, skipping linting" | ||
elif [[ $STAGED_GO_FILES == "" ]]; then | ||
echo "--> Found markdown files, linting" | ||
if ! command -v markdownlint &> /dev/null ; then | ||
echo "markdownlint is not installed of available in the PATH" >&2 | ||
echo "please check https://github.com/igorshubovych/markdownlint-cli" >&2 | ||
exit 1 | ||
fi | ||
markdownlint --config .markdownlint.yaml '**/*.md' | ||
else | ||
echo "--> Found go files, running make lint" | ||
if ! command -v golangci-lint &> /dev/null ; then | ||
echo "golangci-lint not installed or available in the PATH" >&2 | ||
echo "please check https://github.com/golangci/golangci-lint" >&2 | ||
exit 1 | ||
fi | ||
make lint | ||
fi | ||
|
||
if go mod tidy -v 2>&1 | grep -q 'updates to go.mod needed'; then | ||
exit 1 | ||
fi | ||
|
||
git diff --exit-code go.* &> /dev/null | ||
|
||
if [ $? -eq 1 ]; then | ||
echo "go.mod or go.sum differs, please re-add it to your commit" | ||
|
||
exit 1 | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<!-- | ||
Thank you for submitting a pull request! | ||
Please make sure you have reviewed our contributors guide before submitting your | ||
first PR. | ||
Please ensure you've addressed or included references to any related issues. | ||
Tips: | ||
- Use keywords like "closes" or "fixes" followed by an issue number to automatically close related issues when the PR is merged (e.g., "closes #123" or "fixes #123"). | ||
- Describe the changes made in the PR. | ||
- Ensure the PR has one of the required tags (kind:fix, kind:misc, kind:break!, kind:refactor, kind:feat, kind:deps, kind:docs, kind:ci, kind:chore, kind:testing) | ||
--> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,140 @@ | ||
name: CI and Release | ||
on: | ||
merge_group: | ||
push: | ||
branches: | ||
- main | ||
# Trigger on version tags | ||
tags: | ||
- "v*" | ||
pull_request: | ||
workflow_dispatch: | ||
inputs: | ||
version: | ||
# Friendly description to be shown in the UI instead of 'name' | ||
description: "Semver type of new version (major / minor / patch)" | ||
# Input has to be provided for the workflow to run | ||
required: true | ||
type: choice | ||
options: | ||
- patch | ||
- minor | ||
- major | ||
|
||
jobs: | ||
# set up go version for use through pipelines, setting | ||
# variable one time and setting outputs to access passing it | ||
# to other jobs | ||
setup: | ||
runs-on: ubuntu-latest | ||
env: | ||
# upgrade go version throughout pipeline here | ||
GO_VERSION: "1.21" | ||
outputs: | ||
go-version: ${{ steps.set-vars.outputs.go-version }} | ||
branch: ${{ steps.trim_ref.outputs.branch }} | ||
debug: ${{ steps.debug.outputs.debug }} | ||
steps: | ||
- name: Set go version | ||
id: set-vars | ||
run: echo "go-version=${{env.GO_VERSION}}" >> "$GITHUB_OUTPUT" | ||
|
||
- name: Trim branch name | ||
id: trim_ref | ||
run: | | ||
echo "branch=$(${${{ github.ref }}:11})" >> $GITHUB_OUTPUT | ||
- name: Set debug output | ||
id: debug | ||
run: | | ||
if [[ "${{ runner.debug }}" == "true" ]]; then | ||
echo "debug=true" >> $GITHUB_ENV | ||
else | ||
echo "debug=false" >> $GITHUB_ENV | ||
fi | ||
# Dockerfile Linting | ||
hadolint: | ||
uses: celestiaorg/.github/.github/workflows/[email protected] # yamllint disable-line rule:line-length | ||
with: | ||
dockerfile: Dockerfile | ||
|
||
yamllint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: celestiaorg/.github/.github/actions/[email protected] | ||
|
||
markdown-lint: | ||
name: Markdown Lint | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v4 | ||
with: | ||
node-version: 18 | ||
- run: | | ||
npm install -g [email protected] | ||
markdownlint --config .markdownlint.yaml '**/*.md' | ||
go-ci: | ||
needs: setup | ||
uses: ./.github/workflows/go-ci.yml | ||
with: | ||
go-version: ${{ needs.setup.outputs.go-version }} | ||
|
||
# If this was a workflow dispatch event, we need to generate and push a tag | ||
# for goreleaser to grab | ||
version_bump: | ||
needs: [hadolint, yamllint, markdown-lint, go-ci] | ||
runs-on: ubuntu-latest | ||
permissions: "write-all" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Bump version and push tag | ||
# Placing the if condition here is a workaround for needing to block | ||
# on this step during workflow dispatch events but the step not | ||
# needing to run on tags. If we had the if condition on the full | ||
# version_bump section, it would skip and not run, which would result | ||
# in goreleaser not running either. | ||
if: ${{ github.event_name == 'workflow_dispatch' }} | ||
uses: mathieudutour/[email protected] | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
default_bump: ${{ inputs.version }} | ||
release_branches: ${{ needs.setup.outputs.branch }} | ||
|
||
# Generate the release with goreleaser to include pre-built binaries | ||
goreleaser: | ||
needs: version_bump | ||
runs-on: ubuntu-latest | ||
if: | | ||
github.event_name == 'workflow_dispatch' || | ||
(github.event_name == 'push' && contains(github.ref, 'refs/tags/')) | ||
permissions: "write-all" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- run: git fetch --force --tags | ||
|
||
- uses: actions/setup-go@v5 | ||
with: | ||
go-version: ${{ needs.setup.outputs.go-version }} | ||
|
||
- name: Import GPG key | ||
id: import_gpg | ||
uses: crazy-max/ghaction-import-gpg@v6 | ||
with: | ||
gpg_private_key: ${{ secrets.GPG_SIGNING_KEY }} | ||
passphrase: ${{ secrets.GPG_PASSPHRASE }} | ||
|
||
# Generate the binaries and release | ||
- uses: goreleaser/goreleaser-action@v5 | ||
with: | ||
distribution: goreleaser | ||
version: latest | ||
args: release --clean | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
GPG_FINGERPRINT: ${{ steps.import_gpg.outputs.fingerprint }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
name: Docker Build & Publish | ||
|
||
# Trigger on all push events, new semantic version tags, and all PRs | ||
on: | ||
merge_group: | ||
push: | ||
branches: | ||
- "main" | ||
tags: | ||
- "v[0-9]+.[0-9]+.[0-9]+" | ||
- "v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+" | ||
- "v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+" | ||
- "v[0-9]+.[0-9]+.[0-9]+-rc[0-9]+" | ||
pull_request: | ||
|
||
jobs: | ||
docker-security-build: | ||
permissions: | ||
contents: write | ||
packages: write | ||
uses: celestiaorg/.github/.github/workflows/[email protected] # yamllint disable-line rule:line-length | ||
with: | ||
dockerfile: Dockerfile |
Oops, something went wrong.