Skip to content

Commit

Permalink
chore: add codexgo
Browse files Browse the repository at this point in the history
  • Loading branch information
bastean committed Aug 3, 2024
0 parents commit ff7f371
Show file tree
Hide file tree
Showing 250 changed files with 24,392 additions and 0 deletions.
65 changes: 65 additions & 0 deletions .air.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
root = "."
tmp_dir = "tmp"
testdata_dir = "testdata"

[build]
pre_cmd = ["make generate-required"]
cmd = "go build -buildvcs=false -o ./tmp/main ./cmd/codexgo"
post_cmd = []
bin = "./tmp/main"
full_bin = ""
args_bin = []
include_ext = [
"go",
"html",
"templ",
"tmpl",
"tpl"
]
exclude_dir = []
include_dir = [
"cmd",
"internal",
"pkg"
]
include_file = []
exclude_file = []
exclude_regex = [
"^.*_test\\.go$",
"^.*\\.mother\\.go$",
"^.*\\.mock\\.go$",
"^.*_templ\\.go$"
]
exclude_unchanged = true
follow_symlink = true
log = "air.log"
poll = false
poll_interval = 1000
delay = 1000
stop_on_error = false
send_interrupt = true
kill_delay = 1000
rerun = false
rerun_delay = 1000

[log]
time = true
main_only = false

[color]
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"

[misc]
clean_on_exit = true

[screen]
clear_on_rebuild = true
keep_scroll = true

[proxy]
enabled = true
proxy_port = 8090
app_port = 8080
53 changes: 53 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
{
"name": "codexgo",
"image": "mcr.microsoft.com/devcontainers/base:bookworm",
"features": {
"ghcr.io/devcontainers/features/sshd:1": {},
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/go:1": {},
"ghcr.io/devcontainers/features/node:1": {}
},
"forwardPorts": [2222],
"postCreateCommand": "USER_PASSWORD=vscode make devcontainer && make init",
"customizations": {
"vscode": {
"extensions": [
"a-h.templ",
"aaron-bond.better-comments",
"CucumberOpen.cucumber-official",
"esbenp.prettier-vscode",
"github.vscode-github-actions",
"golang.go",
"Gruntfuggly.todo-tree",
"ms-azuretools.vscode-docker",
"ms-vscode.makefile-tools",
"redhat.vscode-yaml",
"streetsidesoftware.code-spell-checker",
"tamasfe.even-better-toml",
"thejltres.fomantic-ui-snippets"
],
"settings": {
"[cucumber]": {
"editor.defaultFormatter": "CucumberOpen.cucumber-official"
},
"[go]": {
"editor.defaultFormatter": "golang.go"
},
"[templ]": {
"editor.defaultFormatter": "a-h.templ"
},
"cSpell.language": "en,lorem",
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
"emmet.includeLanguages": {
"templ": "html"
},
"go.toolsManagement.autoUpdate": true,
"gopls": {
"ui.semanticTokens": true
}
}
}
}
}
59 changes: 59 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#* Editor Directories & Files
.vscode/*
!.vscode/extensions.json
!.vscode/settings.json
.idea
.DS_Store
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
*.local

#* Package Managers
vendor
node_modules
package
pnpm-lock.yaml
yarn.lock
go.work.sum

#* Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*

#* ENV
*.env*
!*.env.demo*
!*.env.example*
*.npmrc*

#* Database
*.db*
!*.db.demo*
!*.db.example*

#* Production
dist
dist-ssr
build

#* Tooling
vite.config.js.timestamp-*
vite.config.ts.timestamp-*
*_templ.txt
*_templ.go

#* Misc
ignore*
report*
temp*
tmp*

#* Repository
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
40 changes: 40 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: ""
assignees: ""
---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**

- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]

**Smartphone (please complete the following information):**

- Device: [e.g. iPhone6]
- OS: [e.g. iOS8.1]
- Browser [e.g. stock browser, safari]
- Version [e.g. 22]

**Additional context**
Add any other context about the problem here.
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: ""
assignees: ""
---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
23 changes: 23 additions & 0 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Setup

description: Setup & Caching Dependencies

runs:
using: "composite"

steps:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version-file: "go.mod"
cache-dependency-path: "go.sum"

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version-file: "package.json"
cache: "npm"

- name: Setup codexGO
shell: ${{ runner.os == 'Windows' && 'pwsh' || 'bash' }}
run: make init-ci
56 changes: 56 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: CI

on:
push:
branches: [main, ci/**]
pull_request:
branches: [main]

jobs:
TruffleHog:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Secret Scanning
uses: trufflesecurity/trufflehog@main
with:
extra_args: --only-verified

Lint:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Check
run: make lint-check

Test:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup
uses: ./.github/actions/setup

- name: Unit
run: make test-unit

- name: Upload Report
uses: actions/upload-artifact@v4
if: success() || failure()
with:
name: Test Report
path: ./test/report
retention-days: 30
64 changes: 64 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Release

on:
workflow_dispatch:
inputs:
status:
type: choice
description: Status
options:
- alpha
- beta
- stable
default: stable

bump:
type: choice
description: Bump
options:
- patch
- minor
- major
- auto
default: auto

dry:
type: boolean
description: Dry Release
default: false

jobs:
Generate:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup
uses: ./.github/actions/setup

- name: Import GPG Key
id: import-gpg
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.BOT_GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.BOT_GPG_PASSPHRASE }}
git_config_global: true
git_user_signingkey: true
git_commit_gpgsign: true
git_tag_gpgsign: true

- name: Generate Release
run: OPTIONS="$STATUS_ARG $BUMP_ARG $DRY_ARG" make release-ci
env:
STATUS_ARG: ${{ fromJSON('{"alpha":"--preRelease=alpha", "beta":"--preRelease=beta", "stable":""}')[github.event.inputs.status] }}
BUMP_ARG: ${{ fromJSON('{"patch":"-i patch", "minor":"-i minor", "major":"-i major", "auto":""}')[github.event.inputs.bump] }}
DRY_ARG: ${{ github.event.inputs.dry == 'true' && '-d' || '' }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GIT_AUTHOR_NAME: ${{ steps.import-gpg.outputs.name }}
GIT_AUTHOR_EMAIL: ${{ steps.import-gpg.outputs.email }}
GIT_COMMITTER_NAME: ${{ steps.import-gpg.outputs.name }}
GIT_COMMITTER_EMAIL: ${{ steps.import-gpg.outputs.email }}
Loading

0 comments on commit ff7f371

Please sign in to comment.