diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..864a2d4 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,2 @@ +# Code owners +@y0sy4 diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..78dc4a8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -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 diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..6a0a0f9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -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 diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..295fabb --- /dev/null +++ b/.github/pull_request_template.md @@ -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 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..71e7e7a --- /dev/null +++ b/.github/workflows/build.yml @@ -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 }}