Add GitHub templates and CI/CD workflow

This commit is contained in:
y0sy4 2026-03-22 19:56:26 +03:00
parent 851b41180e
commit 4d16d72a4f
5 changed files with 181 additions and 0 deletions

2
.github/CODEOWNERS vendored Normal file
View File

@ -0,0 +1,2 @@
# Code owners
@y0sy4

52
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@ -0,0 +1,52 @@
name: 🐛 Bug Report
description: Report a bug or issue
title: "[Bug] "
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to fill out this bug report!
- type: input
id: version
attributes:
label: Version
description: What version are you using?
placeholder: v2.0.0
validations:
required: true
- type: dropdown
id: os
attributes:
label: Operating System
description: What OS are you using?
options:
- Windows
- Linux
- macOS (Intel)
- macOS (Apple Silicon)
validations:
required: true
- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is
placeholder: The proxy crashes when...
validations:
required: true
- type: textarea
id: logs
attributes:
label: Logs
description: Paste relevant log output (from %APPDATA%/TgWsProxy/proxy.log)
render: shell
- type: textarea
id: steps
attributes:
label: Steps to Reproduce
description: How can we reproduce this issue?
placeholder: |
1. Run the proxy
2. Connect Telegram
3. See error

View File

@ -0,0 +1,42 @@
name: 💡 Feature Request
description: Suggest a new feature or improvement
title: "[Feature] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for suggesting a feature!
- type: textarea
id: problem
attributes:
label: Is your feature request related to a problem?
description: A clear and concise description of what the problem is
placeholder: I'm always frustrated when...
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen
placeholder: I would like to see...
validations:
required: true
- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description: A clear and concise description of any alternative solutions or features you've considered
- type: dropdown
id: platform
attributes:
label: Platform
description: Which platform is this for?
options:
- All platforms
- Windows
- Linux
- macOS
- Android (planned)
- iOS (planned)
validations:
required: true

34
.github/pull_request_template.md vendored Normal file
View File

@ -0,0 +1,34 @@
name: Pull Request
description: Submit a pull request
title: "[PR] "
labels: ["enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for contributing to TG WS Proxy Go!
- type: textarea
id: description
attributes:
label: Description
description: What does this PR do?
placeholder: This PR adds/fixes...
validations:
required: true
- type: textarea
id: testing
attributes:
label: Testing
description: How did you test this?
placeholder: I tested on Windows/Linux/macOS...
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: I have tested this locally
required: true
- label: Code follows project guidelines
required: true

51
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,51 @@
name: Build Release
on:
release:
types: [created]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest, macos-13]
include:
- os: windows-latest
artifact: TgWsProxy_windows_amd64.exe
goos: windows
goarch: amd64
- os: ubuntu-latest
artifact: TgWsProxy_linux_amd64
goos: linux
goarch: amd64
- os: macos-latest
artifact: TgWsProxy_darwin_arm64
goos: darwin
goarch: arm64
- os: macos-13
artifact: TgWsProxy_darwin_amd64
goos: darwin
goarch: amd64
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'
- name: Build
run: |
go build -ldflags "-s -w" -o ${{ matrix.artifact }} ./cmd/proxy
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
- name: Upload to Release
uses: softprops/action-gh-release@v1
with:
files: ${{ matrix.artifact }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}