fix(dictee): release modifiers with dotool's real key names #683
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Rust | |
| on: | |
| push: | |
| branches: [ "master", "release/*" ] | |
| tags: | |
| - 'v*' | |
| pull_request: | |
| branches: [ "master" ] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Bash syntax check | |
| run: | | |
| for f in dictee dictee-switch-backend dictee-test-rules; do | |
| echo "Checking $f..." | |
| bash -n "$f" | |
| done | |
| - name: Python syntax check | |
| run: | | |
| for f in dictee-setup.py dictee-tray.py dictee-ptt.py dictee-postprocess.py dictee-transcribe.py dictee_models.py; do | |
| echo "Checking $f..." | |
| python3 -m py_compile "$f" | |
| done | |
| - name: Gettext locale check | |
| run: | | |
| sudo apt-get install -y gettext > /dev/null | |
| for f in po/*.po; do | |
| echo "Checking $f..." | |
| msgfmt --check --output=/dev/null "$f" | |
| done | |
| test-postprocess: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install Python test deps | |
| run: python3 -m pip install --user text2num | |
| - name: Run postprocess tests | |
| run: python3 tests/test-postprocess.py -v | |
| env: | |
| XDG_CONFIG_HOME: /tmp/dictee-ci-noconfig | |
| test-apply-continuation: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Run apply_continuation tests | |
| run: bash tests/test-apply-continuation.sh | |
| test-transcribe-routing: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Run dictee-transcribe routing tests | |
| run: python3 tests/test-transcribe-routing.py -v | |
| packaging-audit: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install PyYAML | |
| run: python3 -m pip install --user pyyaml | |
| - name: Audit packaging deps manifest vs builders | |
| run: python3 packaging/audit-deps.py | |
| test-install-arch-source: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Verify the Arch installer resolves to an existing source tarball | |
| # Guards against issue #17: the Arch install path must clone a ref | |
| # whose PKGBUILD _tag points at a tarball that actually exists (HTTP | |
| # 200). Catches a master bump to an unreleased version, a stale | |
| # hard-coded branch, or any tag/_tag mismatch — before users hit it. | |
| run: bash tests/test-install-arch-source.sh | |
| test-x86: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Build | |
| run: cargo build --verbose | |
| - name: Run tests | |
| run: cargo test --verbose | |
| test-arm64: | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v5 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Build | |
| run: cargo build --verbose | |
| - name: Run tests | |
| run: cargo test --verbose | |
| release: | |
| needs: [lint, test-postprocess, test-apply-continuation, test-transcribe-routing, packaging-audit, test-install-arch-source, test-x86, test-arm64] | |
| # Disabled: dictee ships locally-built CUDA assets that CI cannot produce, | |
| # so a tag push must NOT auto-publish an empty release (it would also flip | |
| # the GitHub "Latest" pointer and break install.sh's asset lookup for | |
| # everyone). Releases are published manually via `gh` with the local | |
| # .dev/dist/ assets. Re-enable only once CI can build+upload the assets. | |
| if: false && startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v3 | |
| with: | |
| generate_release_notes: true | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |