diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..289a992 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,51 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + +jobs: + test: + name: Test suite + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Enable Corepack + run: corepack enable + + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: yarn + + - name: Install dependencies + run: yarn install --immutable + + - name: Run tests + run: yarn test + + typecheck: + name: Typecheck (non-blocking) + runs-on: ubuntu-latest + # TypeScript strict mode is currently disabled (see review QUAL-10). This job + # surfaces type errors without gating merges; promote it to a required check + # once the strict-mode cleanup lands. + continue-on-error: true + steps: + - uses: actions/checkout@v4 + + - name: Enable Corepack + run: corepack enable + + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: yarn + + - name: Install dependencies + run: yarn install --immutable + + - name: vue-tsc + run: yarn vue-tsc --noEmit diff --git a/tests/shared/radioSpeech.test.ts b/tests/shared/radioSpeech.test.ts index bf183f2..c0523b7 100644 --- a/tests/shared/radioSpeech.test.ts +++ b/tests/shared/radioSpeech.test.ts @@ -33,8 +33,8 @@ describe('radioSpeech', () => { const sid = normalizeRadioPhrase('MARUN 7F') const metar = normalizeMetarPhrase('EDDF 171450Z 28015G25KT 9999 -RA SCT025 BKN040 15/08 Q1013') - // SID prefix is spelled phonetically so TTS pronounces unfamiliar waypoint names correctly - assert.equal(sid, 'Mike Alfa Romeo Uniform November seven Foxtrot') + // SID identifier: the named waypoint is spoken as a word, the number and suffix letter are spelled out + assert.equal(sid, 'Marun seven Foxtrot') assert.match(metar, /wind too eight zero degrees/) assert.match(metar, /gusting too fife knots/) assert.match(metar, /QNH wun zero wun tree/)