Skip to content

Commit 3311db5

Browse files
chore(ci+docs): remove outdated workflows and streamline issue templates
- Deleted inactive GitHub workflows: stale issues management and auto-translator. - Simplified issue templates for `bug_report.yml` and refactored contact links in `config.yml`. - Updated repository README for new Docker-first project focus and local runtime-specific functionality. - Adjusted tests to reflect API changes in the transcription audio selection logic.
1 parent f46c28e commit 3311db5

15 files changed

Lines changed: 816 additions & 1306 deletions

File tree

Lines changed: 19 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,15 @@
1-
name: 🐞 Bug Report
2-
description: Something unexpected happened, errors or badcases
1+
name: Bug Report
2+
description: Report a Qwen3-ASR-STT Docker, UI, API, benchmark, or runtime issue.
33
body:
44
- type: markdown
55
attributes:
66
value: |
7-
**We appreciate your time and effort in filing this report. ❤**
7+
Thanks for reporting a problem with Hangry Labs Qwen3-ASR-STT.
88
9-
Issues are a vital part of open-source collaboration. They help identify and resolve real-world problems, improve the project for everyone, and create a transparent, well-documented knowledge base that benefits the entire community. **By reporting an issue, you're not just solving a problem for yourself --- you're helping others who may encounter the same challenge.**
9+
This repository focuses on Docker packaging, the local browser UI, OpenAI-compatible transcription APIs, runtime defaults, benchmarks, and integration behavior.
1010
11-
To ensure your issue is addressed efficiently and effectively, please follow these guidelines when submitting:
12-
13-
1. **Use English**
14-
Please write your issue in English. This ensures the widest possible audience can understand and contribute. Most translation tools also work best with English, making your report more accessible globally.
15-
16-
2. **Choose a clear and descriptive title**
17-
Your title should summarize the issue clearly and include relevant details such as the model ID (e.g., `Qwen3-ASR-1.7B`) and the framework or environment (e.g., `qwen-asr`, `vllm`).
18-
Example: `Qwen3-ASR-1.7B generates errors with vllm under CUDA 12.8`
19-
20-
3. **Provide reproducible steps**
21-
Help us help you: include a minimal, self-contained code snippet and clear instructions to reproduce the issue. Be sure to specify:
22-
- Your environment (OS, Python version, package versions)
23-
- The exact commands or code used; the prompts and the sampling parameters in terms of badcases
24-
- Expected vs. actual behavior
25-
26-
4. **Be precise and concise**
27-
- Focus on **one issue per report**. If you have multiple bugs, please open separate issues.
28-
- Include only the context and code necessary to understand and reproduce the problem.
29-
- Think of your issue as a future reference for others --- aim to make it a helpful documentation entry.
30-
31-
32-
Also keep in mind that this repository is dedicated to the open-weight versions of the **Qwen ASR**.
33-
- For **Qwen API services** or closed-source variants, please contact Alibaba Cloud support directly.
11+
For upstream model architecture, weights, or research behavior that is not specific to this Docker/UI/API fork, also check the upstream Qwen3-ASR repository:
12+
https://github.com/QwenLM/Qwen3-ASR
3413
3514
- type: textarea
3615
attributes:
@@ -44,10 +23,19 @@ body:
4423
attributes:
4524
label: Reproduction
4625
description: |
47-
Please provide minimal reproducible code.
26+
Please provide exact commands or UI/API steps.
4827
validations:
4928
required: true
5029

30+
- type: textarea
31+
attributes:
32+
label: Docker Command or Task
33+
description: |
34+
Paste the docker command or Taskfile command you used, including image tag and environment variables.
35+
render: shell
36+
validations:
37+
required: false
38+
5139
- type: textarea
5240
attributes:
5341
label: Logs
@@ -62,13 +50,13 @@ body:
6250
attributes:
6351
label: Environment Information
6452
description: |
65-
Please provide information about you environment, e.g., the software versions and the information on the OS, GPUs, CUDA, and NVIDIA Driver if GPUs are used.
53+
Include OS, Docker version, GPU model, NVIDIA driver, CUDA runtime if known, image tag, model, and whether you used the full or tiny image.
6654
validations:
6755
required: true
6856

6957
- type: checkboxes
7058
attributes:
7159
label: Known Issue
7260
options:
73-
- label: The issue hasn't been already addressed in Documentation, Issues, and Discussions.
74-
61+
- label: I checked the README, Docker Hub docs, and existing issues for this problem.
62+

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
blank_issues_enabled: false
22
contact_links:
3-
- name: 🚀 Feature Request
4-
url: https://github.com/QwenLM/Qwen3-ASR/discussions/categories/polls
5-
about: Create a poll and see if others are interested in a new feature as well
6-
- name: 🙏 Question
7-
url: https://github.com/QwenLM/Qwen3-ASR/discussions/categories/q-a
8-
about: Quick question, what/when/where/why/how ...
9-
- name: 💬 General Discussion
10-
url: https://github.com/QwenLM/Qwen3-ASR/discussions/categories/general
11-
about: Discuss in general
3+
- name: Feature Request
4+
url: https://github.com/Hangry-Labs/Qwen3-ASR-STT/issues/new/choose
5+
about: Request a Docker, UI, API, benchmark, or runtime packaging improvement.
6+
- name: Upstream Qwen3-ASR
7+
url: https://github.com/QwenLM/Qwen3-ASR
8+
about: Use upstream for model architecture, weights, research, or package behavior outside this Hangry Labs runtime fork.

.github/workflows/ci.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches:
7+
- main
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: ci-${{ github.ref }}
14+
cancel-in-progress: true
15+
16+
jobs:
17+
lightweight-checks:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v4
23+
24+
- name: Set up Python
25+
uses: actions/setup-python@v5
26+
with:
27+
python-version: "3.13"
28+
29+
- name: Compile Python sources
30+
run: python -m compileall -q qwen_asr tests testbench
31+
32+
- name: Validate package metadata
33+
run: python -c "import tomllib; tomllib.load(open('pyproject.toml','rb')); print('pyproject-ok')"
34+
35+
- name: Check Dockerfile syntax
36+
run: docker build --check .
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
name: Build and Push Docker Image (tiny)
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- "v*.*"
9+
- "v*.*.*"
10+
workflow_dispatch:
11+
inputs:
12+
image_tag:
13+
description: "Optional Docker tag to publish, for example v0.2.0"
14+
required: false
15+
type: string
16+
checkout_ref:
17+
description: "Optional git ref to build. Defaults to image_tag when image_tag is set."
18+
required: false
19+
type: string
20+
push_latest_tiny:
21+
description: "Publish latest_tiny"
22+
required: false
23+
default: true
24+
type: boolean
25+
26+
env:
27+
IMAGE_NAME: hangrylabs/qwen3-asr-stt
28+
29+
permissions:
30+
contents: read
31+
32+
concurrency:
33+
group: docker-tiny-${{ github.ref }}
34+
cancel-in-progress: true
35+
36+
jobs:
37+
build:
38+
runs-on: ubuntu-latest
39+
40+
steps:
41+
- name: Checkout code
42+
uses: actions/checkout@v4
43+
with:
44+
ref: ${{ inputs.checkout_ref || inputs.image_tag || github.ref }}
45+
46+
- name: Free up disk space
47+
run: |
48+
echo "Initial disk usage:"
49+
df -h
50+
51+
sudo rm -rf /usr/share/dotnet || true
52+
sudo rm -rf /opt/ghc || true
53+
sudo rm -rf /usr/local/lib/android || true
54+
sudo rm -rf /opt/hostedtoolcache || true
55+
docker system prune -af || true
56+
57+
echo "Disk usage after cleanup:"
58+
df -h
59+
60+
- name: Set up Docker Buildx
61+
uses: docker/setup-buildx-action@v3
62+
63+
- name: Login to Docker Hub
64+
uses: docker/login-action@v3
65+
with:
66+
username: ${{ secrets.DOCKER_USERNAME }}
67+
password: ${{ secrets.DOCKER_TOKEN }}
68+
69+
- name: Resolve image tags
70+
id: meta
71+
shell: bash
72+
run: |
73+
set -euo pipefail
74+
75+
version=""
76+
if [[ "${GITHUB_REF}" == refs/tags/v* ]]; then
77+
version="${GITHUB_REF##refs/tags/}"
78+
elif [[ -n "${{ inputs.image_tag }}" ]]; then
79+
version="${{ inputs.image_tag }}"
80+
fi
81+
82+
tags=()
83+
if [[ "${GITHUB_REF}" == refs/heads/main && "${{ github.event_name }}" != "workflow_dispatch" ]]; then
84+
tags+=("${IMAGE_NAME}:latest_tiny")
85+
elif [[ "${{ github.event_name }}" == "workflow_dispatch" && "${{ inputs.push_latest_tiny }}" == "true" ]]; then
86+
tags+=("${IMAGE_NAME}:latest_tiny")
87+
fi
88+
if [[ -n "${version}" ]]; then
89+
tags+=("${IMAGE_NAME}:${version}_tiny")
90+
fi
91+
92+
if [[ "${#tags[@]}" -eq 0 ]]; then
93+
echo "No tags selected for publishing." >&2
94+
exit 1
95+
fi
96+
97+
{
98+
echo "tags<<EOF"
99+
printf '%s\n' "${tags[@]}"
100+
echo "EOF"
101+
echo "version=${version}"
102+
} >> "${GITHUB_OUTPUT}"
103+
104+
- name: Build and push tiny Docker image
105+
uses: docker/build-push-action@v6
106+
with:
107+
context: .
108+
target: tiny
109+
push: true
110+
tags: ${{ steps.meta.outputs.tags }}

.github/workflows/docker-build.yml

Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
name: Build and Push Docker Image (baked)
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
tags:
8+
- "v*.*"
9+
- "v*.*.*"
10+
workflow_dispatch:
11+
inputs:
12+
image_tag:
13+
description: "Optional Docker tag to publish, for example v0.2.0"
14+
required: false
15+
type: string
16+
checkout_ref:
17+
description: "Optional git ref to build. Defaults to image_tag when image_tag is set."
18+
required: false
19+
type: string
20+
push_latest:
21+
description: "Also publish latest"
22+
required: false
23+
default: true
24+
type: boolean
25+
prefetch_models:
26+
description: "Model IDs to bake into the image"
27+
required: false
28+
default: "Qwen/Qwen3-ASR-1.7B"
29+
type: string
30+
prefetch_allow_patterns:
31+
description: "Optional Hugging Face allow patterns for filtered model downloads"
32+
required: false
33+
default: ""
34+
type: string
35+
prefetch_aligner:
36+
description: "Also bake Qwen3 forced aligner assets"
37+
required: false
38+
default: true
39+
type: boolean
40+
41+
env:
42+
IMAGE_NAME: hangrylabs/qwen3-asr-stt
43+
DEFAULT_PREFETCH_MODELS: Qwen/Qwen3-ASR-1.7B
44+
45+
permissions:
46+
contents: read
47+
48+
concurrency:
49+
group: docker-baked-${{ github.ref }}
50+
cancel-in-progress: true
51+
52+
jobs:
53+
build:
54+
runs-on: ubuntu-latest
55+
56+
steps:
57+
- name: Checkout code
58+
uses: actions/checkout@v4
59+
with:
60+
ref: ${{ inputs.checkout_ref || inputs.image_tag || github.ref }}
61+
62+
- name: Free up disk space
63+
run: |
64+
echo "Initial disk usage:"
65+
df -h
66+
67+
sudo rm -rf /usr/share/dotnet || true
68+
sudo rm -rf /opt/ghc || true
69+
sudo rm -rf /usr/local/lib/android || true
70+
sudo rm -rf /opt/hostedtoolcache || true
71+
docker system prune -af || true
72+
73+
echo "Disk usage after cleanup:"
74+
df -h
75+
76+
- name: Set up Docker Buildx
77+
uses: docker/setup-buildx-action@v3
78+
79+
- name: Login to Docker Hub
80+
uses: docker/login-action@v3
81+
with:
82+
username: ${{ secrets.DOCKER_USERNAME }}
83+
password: ${{ secrets.DOCKER_TOKEN }}
84+
85+
- name: Resolve image tags
86+
id: meta
87+
shell: bash
88+
run: |
89+
set -euo pipefail
90+
91+
version=""
92+
if [[ "${GITHUB_REF}" == refs/tags/v* ]]; then
93+
version="${GITHUB_REF##refs/tags/}"
94+
elif [[ -n "${{ inputs.image_tag }}" ]]; then
95+
version="${{ inputs.image_tag }}"
96+
fi
97+
98+
tags=()
99+
if [[ "${GITHUB_REF}" == refs/heads/main && "${{ github.event_name }}" != "workflow_dispatch" ]]; then
100+
tags+=("${IMAGE_NAME}:latest")
101+
elif [[ "${{ github.event_name }}" == "workflow_dispatch" && "${{ inputs.push_latest }}" == "true" ]]; then
102+
tags+=("${IMAGE_NAME}:latest")
103+
fi
104+
if [[ -n "${version}" ]]; then
105+
tags+=("${IMAGE_NAME}:${version}")
106+
fi
107+
108+
if [[ "${#tags[@]}" -eq 0 ]]; then
109+
echo "No tags selected for publishing." >&2
110+
exit 1
111+
fi
112+
113+
{
114+
echo "tags<<EOF"
115+
printf '%s\n' "${tags[@]}"
116+
echo "EOF"
117+
echo "version=${version}"
118+
} >> "${GITHUB_OUTPUT}"
119+
120+
- name: Build and push baked Docker image
121+
uses: docker/build-push-action@v6
122+
with:
123+
context: .
124+
target: baked
125+
push: true
126+
tags: ${{ steps.meta.outputs.tags }}
127+
build-args: |
128+
QWEN_ASR_PREFETCH_MODELS=${{ inputs.prefetch_models || env.DEFAULT_PREFETCH_MODELS }}
129+
QWEN_ASR_PREFETCH_ALLOW_PATTERNS=${{ inputs.prefetch_allow_patterns }}
130+
QWEN_ASR_PREFETCH_ALIGNER=${{ github.event_name == 'workflow_dispatch' && inputs.prefetch_aligner == false && '0' || '1' }}

0 commit comments

Comments
 (0)