Repository navigation
fix(ai): keep latest session request owner #405
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: Community CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: community-ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| frontend: | |
| name: Frontend lint, test, and build | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: chat2db-community-client | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 | |
| with: | |
| node-version: 22.22.2 | |
| cache: yarn | |
| cache-dependency-path: chat2db-community-client/yarn.lock | |
| - name: Install dependencies | |
| run: yarn install --frozen-lockfile | |
| - name: Validate localization catalogs | |
| run: yarn test:i18n | |
| - name: Run ESLint | |
| run: yarn lint:eslint | |
| - name: Run Stylelint | |
| run: yarn lint:style | |
| - name: Run shortcut contract | |
| run: yarn run test:shortcut | |
| - name: Run SQL clipboard test | |
| run: yarn run test:sql-in-clipboard | |
| - name: Run result Markdown formatter test | |
| run: yarn run test:result-markdown | |
| - name: Run active workspace tab locator contract | |
| run: yarn run test:active-tab-locator | |
| - name: Run local file tab title contract | |
| run: yarn run test:local-file-tab-title | |
| - name: Run saved console tree refresh contract | |
| run: yarn run test:saved-console-tree-refresh | |
| - name: Run saved console lifecycle contract | |
| run: yarn run test:saved-console-lifecycle | |
| - name: Run BaseTable tree interaction contract | |
| run: yarn run test:base-table-interaction | |
| - name: Run database object sorting contract | |
| run: yarn run test:database-object-sorting | |
| - name: Run BI chart sorting contract | |
| run: yarn run test:bi-chart-sorting | |
| - name: Run BI chart SQL execution result contract | |
| run: yarn run test:bi-sql-result | |
| - name: Run ComboAxisSelect action filter contract | |
| run: yarn run test:combo-axis-actions | |
| - name: Run BI label rotation contract | |
| run: yarn run test:label-rotation | |
| - name: Run Redis explorer contract | |
| run: yarn run test:redis-explorer | |
| - name: Run CreateStream index mapping contract | |
| run: yarn run test:create-stream-index | |
| - name: Run result inspector contract | |
| run: yarn run test:result-inspector | |
| - name: Run result operation record contract | |
| run: yarn run test:result-operation-record | |
| - name: Run result tab preference contract | |
| run: yarn run test:result-tab-preferences | |
| - name: Run execution console preference contract | |
| run: yarn run test:execution-console | |
| - name: Run SQL execution log contract | |
| run: yarn run test:sql-execution-log | |
| - name: Run SQL execution batch contract | |
| run: yarn run test:sql-execution-batch | |
| - name: Run SQL execution request tracker contract | |
| run: yarn run test:sql-execution-request-tracker | |
| - name: Run SQL execution stream contract | |
| run: yarn run test:sql-execution-stream | |
| - name: Run SSE request ownership contract | |
| run: yarn run test:sse-request | |
| - name: Run verification-code countdown lifecycle contract | |
| run: yarn run test:verification-code-countdown | |
| - name: Run settings layout contract | |
| run: yarn run test:settings-layout | |
| - name: Build Community web client | |
| run: yarn run build:web:community --app_version=5.3.0 | |
| backend: | |
| name: Backend tests and package | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
| - name: Set up JDK 17 | |
| uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| cache: maven | |
| - name: Run backend tests | |
| run: mvn -B test -Dmaven.test.skip=false -DskipTests=false -f chat2db-community-server/pom.xml | |
| - name: Package backend | |
| run: mvn -B package -DskipTests -Dmaven.test.skip=false -Dchat2db.finalName=chat2db-community -f chat2db-community-server/pom.xml -pl chat2db-community-start -am | |
| updater: | |
| name: Desktop updater tests (${{ matrix.os }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
| - uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 | |
| with: | |
| distribution: temurin | |
| java-version: '17' | |
| cache: maven | |
| - name: Test Windows signing script | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| choco install winscp -y --no-progress | |
| if ($LASTEXITCODE -ne 0) { throw 'WinSCP installation failed' } | |
| ./script/package/tests/windows-signing-test.ps1 -WinScpPath "${env:ProgramFiles(x86)}/WinSCP/WinSCP.com" | |
| - name: Test updater and desktop integration | |
| shell: bash | |
| run: | | |
| mvn -B -f chat2db-community-server/pom.xml -pl :chat2db-community-jcef,:chat2db-community-bootstrap -am \ | |
| -Dmaven.test.skip=false -DskipTests=false \ | |
| '-Dtest=Chat2DBBootstrapTest,FullPackage*Test,Update*Test,NativePackageInstallerTest,SemanticVersionTest,InstalledAppVersionReaderTest,TrustedUpdateKeysTest,GitHubReleaseDesktopUpdaterTest,DesktopUpdaterRegistryTest,RestartAppHandlerTest' \ | |
| -Dsurefire.failIfNoSpecifiedTests=false -Dmaven.test.failure.ignore=false test | |
| repository: | |
| name: Repository and documentation checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 | |
| - name: Test desktop layout, Beta pointer, and release guards | |
| run: | | |
| bash script/package/tests/desktop-layout-test.sh | |
| python3 script/package/tests/release-deletion-guard-test.py | |
| ruby script/package/tests/community-beta-workflow-test.rb | |
| - name: Validate required repository files | |
| run: | | |
| test -s README.md | |
| test -s LICENSE | |
| test -s SECURITY.md | |
| - name: Parse YAML configuration files | |
| shell: ruby {0} | |
| run: | | |
| require 'yaml' | |
| Dir['.github/**/*.yml', '.github/**/*.yaml'].each do |path| | |
| YAML.safe_load(File.read(path), aliases: false) | |
| puts "validated #{path}" | |
| end | |
| - name: Validate Community operations contracts | |
| run: ruby script/github/validate-community-operations.rb | |
| - name: Test macOS native signing selection | |
| run: bash script/package/tests/sign-macos-native-libraries-test.sh | |
| - name: Test Community workflow automation | |
| run: node --test script/github/issue-claim.test.js script/github/sync-community-project.test.js | |
| - name: Test QQ notification automation | |
| run: | | |
| python3 script/github/test_notify_qq.py | |
| python3 script/github/qq_relay/test_relay_server.py |