Compare commits
4 Commits
v0.1.0
...
feat/pr-te
| Author | SHA1 | Date | |
|---|---|---|---|
|
931b53cb7c
|
|||
|
12fb18858f
|
|||
| 41b09ae680 | |||
| e00e6fcb1b |
7
.claude/settings.json
Normal file
7
.claude/settings.json
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"permissions": {
|
||||||
|
"allow": [
|
||||||
|
"Bash(curl -s -w \"\\\\n---HTTP_STATUS:%{http_code}---\" https://raw.githubusercontent.com/kubernetes/kubernetes/master/.markdownlint.yaml)"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
71
.gitea/ISSUE_TEMPLATE.yml
Normal file
71
.gitea/ISSUE_TEMPLATE.yml
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
name: Bug Report
|
||||||
|
about: File a bug report
|
||||||
|
title: "[Bug]: "
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Thanks for taking the time to fill out this bug report!
|
||||||
|
# some markdown that will only be visible once the issue has been created
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
This issue was created by an issue **template** :)
|
||||||
|
visible: [content]
|
||||||
|
- type: input
|
||||||
|
id: contact
|
||||||
|
attributes:
|
||||||
|
label: Contact Details
|
||||||
|
description: How can we get in touch with you if we need more info?
|
||||||
|
placeholder: ex. email@example.com
|
||||||
|
validations:
|
||||||
|
required: false
|
||||||
|
- type: textarea
|
||||||
|
id: what-happened
|
||||||
|
attributes:
|
||||||
|
label: What happened?
|
||||||
|
description: Also tell us, what did you expect to happen?
|
||||||
|
placeholder: Tell us what you see!
|
||||||
|
value: "A bug happened!"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: Version
|
||||||
|
description: What version of our software are you running?
|
||||||
|
options:
|
||||||
|
- 1.0.2 (Default)
|
||||||
|
- 1.0.3 (Edge)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: browsers
|
||||||
|
attributes:
|
||||||
|
label: What browsers are you seeing the problem on?
|
||||||
|
multiple: true
|
||||||
|
options:
|
||||||
|
- Firefox
|
||||||
|
- Chrome
|
||||||
|
- Safari
|
||||||
|
- Microsoft Edge
|
||||||
|
- type: textarea
|
||||||
|
id: logs
|
||||||
|
attributes:
|
||||||
|
label: Relevant log output
|
||||||
|
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||||
|
render: shell
|
||||||
|
- type: checkboxes
|
||||||
|
id: terms
|
||||||
|
attributes:
|
||||||
|
label: Code of Conduct
|
||||||
|
hide_label: true
|
||||||
|
description: By submitting this issue, you agree to follow our [Code of Conduct](https://example.com)
|
||||||
|
options:
|
||||||
|
- label: I agree to follow this project's Code of Conduct
|
||||||
|
required: true
|
||||||
|
- label: I have also read the CONTRIBUTION.MD
|
||||||
|
required: true
|
||||||
|
visible: [form]
|
||||||
|
- label: This is a TODO only visible after issue creation
|
||||||
|
visible: [content]
|
||||||
12
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
12
.gitea/PULL_REQUEST_TEMPLATE.md
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
name: "Pull Request Template"
|
||||||
|
about: "This template is for general pull requests!"
|
||||||
|
title: "<type>[optional scope]: <description>"
|
||||||
|
ref: "main"
|
||||||
|
assignees: ["user1"]
|
||||||
|
labels:
|
||||||
|
- bug
|
||||||
|
- "help needed"
|
||||||
|
---
|
||||||
|
|
||||||
|
This is the template!
|
||||||
@@ -39,6 +39,14 @@ jobs:
|
|||||||
- name: Run mutation tests
|
- name: Run mutation tests
|
||||||
run: make lint-makefile
|
run: make lint-makefile
|
||||||
|
|
||||||
|
lint-markdown:
|
||||||
|
name: Markdown Lint
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- uses: DavidAnson/markdownlint-cli2-action@v19
|
||||||
|
|
||||||
test-unit:
|
test-unit:
|
||||||
name: Unit Tests
|
name: Unit Tests
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
22
.gitea/workflows/release.yml
Normal file
22
.gitea/workflows/release.yml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
name: Release
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.12"
|
||||||
|
|
||||||
|
- run: pip install python-semantic-release
|
||||||
|
|
||||||
|
- run: semantic-release version --push --vcs-release
|
||||||
|
env:
|
||||||
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||||
17
.markdownlint.yml
Normal file
17
.markdownlint.yml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
default: true
|
||||||
|
heading-style:
|
||||||
|
style: atx
|
||||||
|
ul-indent:
|
||||||
|
indent: 2
|
||||||
|
line-length: false
|
||||||
|
no-duplicate-heading:
|
||||||
|
siblings_only: true
|
||||||
|
no-inline-html:
|
||||||
|
allowed_elements:
|
||||||
|
- br
|
||||||
|
- details
|
||||||
|
- summary
|
||||||
|
- img
|
||||||
|
- picture
|
||||||
|
- source
|
||||||
|
first-line-heading: true
|
||||||
7
Makefile
7
Makefile
@@ -1,4 +1,4 @@
|
|||||||
.PHONY: all help install clean test-unit test-mutation test-fuzz test docs lint-go lint-makefile lint
|
.PHONY: all help install clean test-unit test-mutation test-fuzz test docs lint-go lint-makefile lint-markdown lint
|
||||||
|
|
||||||
help: ## Show this help
|
help: ## Show this help
|
||||||
@grep -E '^[a-zA-Z_-]+:.*##' $(MAKEFILE_LIST) | awk -F ':.*## ' '{printf " %-15s %s\n", $$1, $$2}'
|
@grep -E '^[a-zA-Z_-]+:.*##' $(MAKEFILE_LIST) | awk -F ':.*## ' '{printf " %-15s %s\n", $$1, $$2}'
|
||||||
@@ -32,7 +32,10 @@ lint-go: ## Lint Go code
|
|||||||
lint-makefile: ## Lint the Makefile
|
lint-makefile: ## Lint the Makefile
|
||||||
checkmake Makefile
|
checkmake Makefile
|
||||||
|
|
||||||
lint: lint-go lint-makefile ## Lint all code
|
lint-markdown: ## Lint Markdown files
|
||||||
|
docker run --rm -v $(CURDIR):/workdir davidanson/markdownlint-cli2 "**/*.md"
|
||||||
|
|
||||||
|
lint: lint-go lint-makefile lint-markdown ## Lint all code
|
||||||
|
|
||||||
docs: ## Serve godoc locally
|
docs: ## Serve godoc locally
|
||||||
@echo ">>> Visit: http://localhost:6060/pkg/$$(go list -m)"
|
@echo ">>> Visit: http://localhost:6060/pkg/$$(go list -m)"
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
# go-cuckoo
|
# <img height="30" src="assets/logo.svg" alt="Go Cuckoo, by `mvhutz`."> Go Cuckoo
|
||||||
|
|
||||||
A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time.
|
A hash table that uses cuckoo hashing to achieve a worst-case O(1) lookup time. Read more about it in [the package documentation](https://pkg.go.dev/git.maximhutz.com/tools/go-cuckoo).
|
||||||
|
|||||||
1
assets/logo.svg
Normal file
1
assets/logo.svg
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges"><path fill="#2a1512" d="M3,6h1v1h-1v-1M2,7h1v1h-1v-1M12,7h1v1h-1v-1M1,8h1v1h-1v-1M4,8h1v2h-1v-2M14,8h1v1h-1v-1M11,9h1v2h-2v-1h1v-1M5,10h1v1h-1v-1M1,13h2v1h1v1h-2v-1h-1v-1M13,13h2v1h-1v1h-1v1h-1v-2h1v-1M4,15h1v1h-1v-1"/><path fill="#38231f" d="M4,6h1v1h-1v-1M11,6h1v1h-1v-1M13,7h1v1h-1v-1M1,9h1v2h-1v-2M14,9h1v1h-1v-1M14,11h1v2h-1v-2M1,12h1v1h-1v-1M5,15h3v1h-3v-1M10,15h2v1h-2v-1"/><path fill="#3f3f74" d="M7,3h2v1h-2v-1M6,4h1v1h-1v-1M9,4h1v1h-1v-1M5,5h1v5h-1v-5M10,5h1v5h-1v-5M6,10h4v1h-4v-1"/><path fill="#6262ab" d="M9,5h1v1h-1v-1M6,9h1v1h-1v-1M9,9h1v1h-1v-1"/><path fill="#663931" d="M11,8h1v1h-1v-1M2,9h1v1h-1v-1M14,10h1v1h-1v-1M1,11h1v1h-1v-1M3,11h2v1h-2v-1M13,11h1v1h-1v-1M2,12h1v1h-1v-1M5,12h1v1h-1v-1M10,12h3v2h-1v-1h-2v-1M3,13h1v1h-1v-1M8,13h2v1h-2v-1M4,14h3v1h-3v-1M10,14h2v1h-2v-1M8,15h2v1h-2v-1"/><path fill="#8d8dcb" d="M9,6h1v3h-1v1h-2v-1h1v-1h1v-2M6,8h1v1h-1v-1"/><path fill="#8f563b" d="M2,8h1v1h-1v-1M12,9h1v1h-1v-1M2,10h1v1h-1v-1M13,10h1v1h-1v-1M7,11h1v1h-1v-1M11,11h2v1h-2v-1M4,12h1v1h1v-1h1v2h-3v-2M13,12h1v1h-1v-1M10,13h2v1h-2v-1M7,14h3v1h-3v-1"/><path fill="#a4a4d5" d="M8,4h1v4h-1v1h-1v-1h-1v-2h1v-1h1v-1"/><path fill="#ab764a" d="M4,7h1v1h-1v-1M3,8h1v2h-1v-2M12,10h1v1h-1v-1M2,11h1v1h-1v-1M8,11h1v1h-1v-1M3,12h1v1h-1v-1M7,12h1v2h-1v-2"/><path fill="#cacaea" d="M7,4h1v1h-1v-1M6,5h1v1h-1v-1"/><path fill="#d9a066" d="M3,7h1v1h-1v-1M11,7h1v1h-1v-1M12,8h2v2h-1v-1h-1v-1M3,10h2v1h-2v-1M5,11h2v1h-2v-1M9,11h2v1h-1v1h-2v-1h1v-1"/></svg>
|
||||||
|
After Width: | Height: | Size: 1.5 KiB |
BIN
assets/logo128x128.png
Normal file
BIN
assets/logo128x128.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 963 B |
BIN
assets/logo16x16.png
Normal file
BIN
assets/logo16x16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 418 B |
@@ -118,18 +118,6 @@ func TestGetMany(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRemove(t *testing.T) {
|
|
||||||
assert := assert.New(t)
|
|
||||||
table := cuckoo.NewTable[int, bool]()
|
|
||||||
|
|
||||||
assert.False(table.Has(0))
|
|
||||||
|
|
||||||
err := table.Put(0, true)
|
|
||||||
assert.NoError(err)
|
|
||||||
|
|
||||||
assert.True(table.Has(0))
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestDropExistingItem(t *testing.T) {
|
func TestDropExistingItem(t *testing.T) {
|
||||||
assert := assert.New(t)
|
assert := assert.New(t)
|
||||||
key, value := 0, true
|
key, value := 0, true
|
||||||
|
|||||||
13
pyproject.toml
Normal file
13
pyproject.toml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#:schema https://json.schemastore.org/pyproject.json
|
||||||
|
|
||||||
|
[tool.semantic_release]
|
||||||
|
commit_parser = "angular"
|
||||||
|
version_toml = []
|
||||||
|
tag_format = "v{version}"
|
||||||
|
|
||||||
|
[tool.semantic_release.remote]
|
||||||
|
type = "gitea"
|
||||||
|
domain = "git.maximhutz.com"
|
||||||
|
|
||||||
|
[tool.semantic_release.remote.token]
|
||||||
|
env = "GITEA_TOKEN"
|
||||||
Reference in New Issue
Block a user