diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..5d21f43 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,35 @@ +--- +name: Bug report +about: Report protocol errors +title: "" +labels: "" +assignees: "" +--- + +### Nature of the bug + +Spec non-conformance, panic, etc. + +### Steps taken to find bug + +What did you do to trigger the bug? + +### Steps to ensure bug is gone + +How can a fix be validated? + +### Optional: Reproduction + +Do you have an exact list of commands for others to reproduce the problem? + +### Client Debug Logs + +```console +Attach large files, but place the most relevant details here +``` + +### Server Debug Logs + +```console +Attach large files, but place the most relevant details here +``` diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..c21336f --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,45 @@ +name: Lint +on: + push: + branches: + - main + pull_request: + +jobs: + golangci-lint: + name: Lint Go Source + runs-on: ubuntu-latest + container: + image: golangci/golangci-lint:latest-alpine + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Lint Go source files + run: | + apk add --no-cache gcc g++ openssl-dev + export GOFLAGS=-buildvcs=false + go work init + go work use -r . + golangci-lint run ./... + + shellcheck: + name: Lint Shell Scripts + runs-on: ubuntu-latest + container: + image: koalaman/shellcheck-alpine + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Run ShellCheck + run: find . \( -name "*.sh" -o -name "*.bash" \) -exec shellcheck '{}' + + + markdownlint: + name: Lint Documentation Markdown + runs-on: ubuntu-latest + container: + image: node:20-alpine + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Lint all markdown + run: npx markdownlint-cli2 --config .markdownlint.yml '**/*.md' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..9f3b130 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,23 @@ +name: Test +on: + push: + branches: + - main + pull_request: + +jobs: + go: + name: Test Go packages + runs-on: ubuntu-latest + container: + image: golang:alpine + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Test all modules + run: | + apk add --no-cache bash gcc g++ openssl-dev + export GOFLAGS=-buildvcs=false + go work init + go work use -r . + go test -v ./api/handlersTest/