From 631055f74a0d222fbade13da95d164ac14e1f986 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 9 May 2023 14:53:39 +0800 Subject: [PATCH 1/9] Use actions instead of drone --- .drone.yml | 18 +-------- .gitea/workflows/release-tag.yml | 23 +++++++++++ .gitea/workflows/test.yml | 67 ++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+), 17 deletions(-) create mode 100644 .gitea/workflows/release-tag.yml create mode 100644 .gitea/workflows/test.yml diff --git a/.drone.yml b/.drone.yml index 2bad4b5a..3294182c 100644 --- a/.drone.yml +++ b/.drone.yml @@ -418,20 +418,4 @@ steps: - name: merge_coverage image: golang:1.17 commands: - - make coverage - ---- -kind: pipeline -name: release-tag -trigger: - event: - - tag -steps: -- name: release-tag-gitea - pull: always - image: plugins/gitea-release:latest - settings: - base_url: https://gitea.com - title: '${DRONE_TAG} is released' - api_key: - from_secret: gitea_token \ No newline at end of file + - make coverage \ No newline at end of file diff --git a/.gitea/workflows/release-tag.yml b/.gitea/workflows/release-tag.yml new file mode 100644 index 00000000..10ed831e --- /dev/null +++ b/.gitea/workflows/release-tag.yml @@ -0,0 +1,23 @@ +name: release + +on: + push: + tags: + - '*' + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: setup go + uses: https://github.com/actions/setup-go@v4 + with: + go-version: '>=1.20.1' + - name: Use Go Action + id: use-go-action + uses: actions/release-action@main + with: + api_key: '${{secrets.RELEASE_TOKEN}}' \ No newline at end of file diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml new file mode 100644 index 00000000..d1b758a1 --- /dev/null +++ b/.gitea/workflows/test.yml @@ -0,0 +1,67 @@ +name: checks +on: + - push + - pull_request + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + lint: + name: check and test + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: vet + run: make vet + - name: format check + run: make fmt-check + - name: unit test + run: make test + - name: test sqlite3 + run: make test-sqlite3 + - name: test sqlite3 with cache + run: TEST_CACHE_ENABLE=true make test-sqlite3 + - name: test sqlite3 with quote policy + run: TEST_QUOTE_POLICY=reserved make test-sqlite + - name: test mysql + env: + TEST_MYSQL_HOST: mysql + TEST_MYSQL_CHARSET: utf8 + TEST_MYSQL_DBNAME: xorm_test + TEST_MYSQL_USERNAME: root + TEST_MYSQL_PASSWORD: + run: TEST_CACHE_ENABLE=true make test-mysql + + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: xorm_test + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 \ No newline at end of file -- 2.40.1 From ba157e554bab71b392f9d0e25e291714cf67600f Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 9 May 2023 15:52:57 +0800 Subject: [PATCH 2/9] Fix network --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index d1b758a1..12898c4c 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -64,4 +64,4 @@ jobs: MYSQL_DATABASE: xorm_test ports: - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 \ No newline at end of file + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 --network=bridge \ No newline at end of file -- 2.40.1 From 89a6cf52aaaa8975d983560dd31c461d6e5fc60c Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 25 May 2023 12:31:11 +0800 Subject: [PATCH 3/9] remove network --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index 12898c4c..d1b758a1 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -64,4 +64,4 @@ jobs: MYSQL_DATABASE: xorm_test ports: - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 --network=bridge \ No newline at end of file + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 \ No newline at end of file -- 2.40.1 From 7b3e880cc653272f9b5ab89e57b64068590f391a Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 25 May 2023 13:05:14 +0800 Subject: [PATCH 4/9] Remove options --- .gitea/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test.yml index d1b758a1..d17058d0 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test.yml @@ -64,4 +64,4 @@ jobs: MYSQL_DATABASE: xorm_test ports: - 3306:3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 \ No newline at end of file + #options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 \ No newline at end of file -- 2.40.1 From 568f3cfc4e5f048515dc0c3c82a35d09f2123298 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 25 May 2023 13:47:27 +0800 Subject: [PATCH 5/9] Remove drone file --- .drone.yml | 421 ------------------ .gitea/workflows/test-cockroach.yml | 54 +++ .gitea/workflows/test-mariadb.yml | 56 +++ .gitea/workflows/test-mssql.yml | 56 +++ .gitea/workflows/{test.yml => test-mysql.yml} | 37 +- .gitea/workflows/test-mysql8.yml | 56 +++ .gitea/workflows/test-postgres.yml | 79 ++++ .gitea/workflows/test-sqlite.yml | 49 ++ .gitea/workflows/test-tidb.yml | 52 +++ 9 files changed, 419 insertions(+), 441 deletions(-) delete mode 100644 .drone.yml create mode 100644 .gitea/workflows/test-cockroach.yml create mode 100644 .gitea/workflows/test-mariadb.yml create mode 100644 .gitea/workflows/test-mssql.yml rename .gitea/workflows/{test.yml => test-mysql.yml} (66%) create mode 100644 .gitea/workflows/test-mysql8.yml create mode 100644 .gitea/workflows/test-postgres.yml create mode 100644 .gitea/workflows/test-sqlite.yml create mode 100644 .gitea/workflows/test-tidb.yml diff --git a/.drone.yml b/.drone.yml deleted file mode 100644 index 3294182c..00000000 --- a/.drone.yml +++ /dev/null @@ -1,421 +0,0 @@ ---- -kind: pipeline -name: test-mysql -environment: - GO111MODULE: "on" - GOPROXY: "https://goproxy.io" - CGO_ENABLED: 1 -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: test-vet - image: golang:1.17 - pull: always - volumes: - - name: cache - path: /go/pkg/mod - commands: - - make vet -- name: test-sqlite3 - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - depends_on: - - test-vet - commands: - - make fmt-check - - make test - - make test-sqlite3 - - TEST_CACHE_ENABLE=true make test-sqlite3 -- name: test-sqlite - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - depends_on: - - test-vet - commands: - - make test-sqlite - - TEST_QUOTE_POLICY=reserved make test-sqlite -- name: test-mysql - image: golang:1.17 - pull: never - volumes: - - name: cache - path: /go/pkg/mod - depends_on: - - test-vet - environment: - TEST_MYSQL_HOST: mysql - TEST_MYSQL_CHARSET: utf8 - TEST_MYSQL_DBNAME: xorm_test - TEST_MYSQL_USERNAME: root - TEST_MYSQL_PASSWORD: - commands: - - TEST_CACHE_ENABLE=true make test-mysql - -- name: test-mysql-utf8mb4 - image: golang:1.17 - pull: never - volumes: - - name: cache - path: /go/pkg/mod - depends_on: - - test-mysql - environment: - TEST_MYSQL_HOST: mysql - TEST_MYSQL_CHARSET: utf8mb4 - TEST_MYSQL_DBNAME: xorm_test - TEST_MYSQL_USERNAME: root - TEST_MYSQL_PASSWORD: - commands: - - make test-mysql - - TEST_QUOTE_POLICY=reserved make test-mysql-tls - -volumes: -- name: cache - host: - path: /tmp/cache - -services: -- name: mysql - image: mysql:5.7 - environment: - MYSQL_ALLOW_EMPTY_PASSWORD: yes - MYSQL_DATABASE: xorm_test - ---- -kind: pipeline -name: test-mysql8 -depends_on: - - test-mysql -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: test-mysql8 - image: golang:1.17 - pull: never - volumes: - - name: cache - path: /go/pkg/mod - environment: - TEST_MYSQL_HOST: mysql8 - TEST_MYSQL_CHARSET: utf8mb4 - TEST_MYSQL_DBNAME: xorm_test - TEST_MYSQL_USERNAME: root - TEST_MYSQL_PASSWORD: - commands: - - make test-mysql - - TEST_CACHE_ENABLE=true make test-mysql - -volumes: -- name: cache - host: - path: /tmp/cache - -services: -- name: mysql8 - image: mysql:8.0 - environment: - MYSQL_ALLOW_EMPTY_PASSWORD: yes - MYSQL_DATABASE: xorm_test - ---- -kind: pipeline -name: test-mariadb -depends_on: - - test-mysql8 -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: test-mariadb - image: golang:1.17 - pull: never - volumes: - - name: cache - path: /go/pkg/mod - environment: - TEST_MYSQL_HOST: mariadb - TEST_MYSQL_CHARSET: utf8mb4 - TEST_MYSQL_DBNAME: xorm_test - TEST_MYSQL_USERNAME: root - TEST_MYSQL_PASSWORD: - commands: - - make test-mysql - - TEST_QUOTE_POLICY=reserved make test-mysql - -volumes: -- name: cache - host: - path: /tmp/cache - -services: -- name: mariadb - image: mariadb:10.4 - environment: - MYSQL_ALLOW_EMPTY_PASSWORD: yes - MYSQL_DATABASE: xorm_test - ---- -kind: pipeline -name: test-postgres -depends_on: - - test-mariadb -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: test-postgres - pull: never - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - environment: - TEST_PGSQL_HOST: pgsql - TEST_PGSQL_DBNAME: xorm_test - TEST_PGSQL_USERNAME: postgres - TEST_PGSQL_PASSWORD: postgres - commands: - - make test-postgres - - TEST_CACHE_ENABLE=true make test-postgres - -- name: test-postgres-schema - pull: never - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - depends_on: - - test-postgres - environment: - TEST_PGSQL_HOST: pgsql - TEST_PGSQL_SCHEMA: xorm - TEST_PGSQL_DBNAME: xorm_test - TEST_PGSQL_USERNAME: postgres - TEST_PGSQL_PASSWORD: postgres - commands: - - TEST_QUOTE_POLICY=reserved make test-postgres - -- name: test-pgx - pull: never - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - depends_on: - - test-postgres-schema - environment: - TEST_PGSQL_HOST: pgsql - TEST_PGSQL_DBNAME: xorm_test - TEST_PGSQL_USERNAME: postgres - TEST_PGSQL_PASSWORD: postgres - commands: - - make test-pgx - - TEST_CACHE_ENABLE=true make test-pgx - - TEST_QUOTE_POLICY=reserved make test-pgx - -- name: test-pgx-schema - pull: never - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - depends_on: - - test-pgx - environment: - TEST_PGSQL_HOST: pgsql - TEST_PGSQL_SCHEMA: xorm - TEST_PGSQL_DBNAME: xorm_test - TEST_PGSQL_USERNAME: postgres - TEST_PGSQL_PASSWORD: postgres - commands: - - make test-pgx - - TEST_CACHE_ENABLE=true make test-pgx - - TEST_QUOTE_POLICY=reserved make test-pgx - -volumes: -- name: cache - host: - path: /tmp/cache - -services: -- name: pgsql - image: postgres:9.5 - environment: - POSTGRES_DB: xorm_test - POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres - ---- -kind: pipeline -name: test-mssql -depends_on: - - test-postgres -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: test-mssql - pull: never - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - environment: - TEST_MSSQL_HOST: mssql - TEST_MSSQL_DBNAME: xorm_test - TEST_MSSQL_USERNAME: sa - TEST_MSSQL_PASSWORD: "yourStrong(!)Password" - commands: - - make test-mssql - - TEST_MSSQL_DEFAULT_VARCHAR=NVARCHAR TEST_MSSQL_DEFAULT_CHAR=NCHAR make test-mssql - -volumes: -- name: cache - host: - path: /tmp/cache - -services: -- name: mssql - pull: always - image: mcr.microsoft.com/mssql/server:latest - environment: - ACCEPT_EULA: Y - SA_PASSWORD: yourStrong(!)Password - MSSQL_PID: Standard - ---- -kind: pipeline -name: test-tidb -depends_on: - - test-mssql -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: test-tidb - pull: never - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - environment: - TEST_TIDB_HOST: "tidb:4000" - TEST_TIDB_DBNAME: xorm_test - TEST_TIDB_USERNAME: root - TEST_TIDB_PASSWORD: - commands: - - make test-tidb - -volumes: -- name: cache - host: - path: /tmp/cache - -services: -- name: tidb - image: pingcap/tidb:v3.0.3 - ---- -kind: pipeline -name: test-cockroach -depends_on: - - test-tidb -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: test-cockroach - pull: never - image: golang:1.17 - volumes: - - name: cache - path: /go/pkg/mod - environment: - TEST_COCKROACH_HOST: "cockroach:26257" - TEST_COCKROACH_DBNAME: xorm_test - TEST_COCKROACH_USERNAME: root - TEST_COCKROACH_PASSWORD: - commands: - - sleep 10 - - make test-cockroach - -volumes: -- name: cache - host: - path: /tmp/cache - -services: -- name: cockroach - image: cockroachdb/cockroach:v19.2.4 - commands: - - /cockroach/cockroach start --insecure - -# --- -# kind: pipeline -# name: test-dameng -# depends_on: -# - test-cockroach -# trigger: -# ref: -# - refs/heads/master -# - refs/pull/*/head -# steps: -# - name: test-dameng -# pull: never -# image: golang:1.17 -# volumes: -# - name: cache -# path: /go/pkg/mod -# environment: -# TEST_DAMENG_HOST: "dameng:5236" -# TEST_DAMENG_USERNAME: SYSDBA -# TEST_DAMENG_PASSWORD: SYSDBA -# commands: -# - sleep 30 -# - make test-dameng - -# volumes: -# - name: cache -# host: -# path: /tmp/cache - -# services: -# - name: dameng -# image: lunny/dm:v1.0 -# commands: -# - /bin/bash /startDm.sh - ---- -kind: pipeline -name: merge_coverage -depends_on: - - test-mysql - - test-mysql8 - - test-mariadb - - test-postgres - - test-mssql - - test-tidb - - test-cockroach - #- test-dameng -trigger: - ref: - - refs/heads/master - - refs/pull/*/head -steps: -- name: merge_coverage - image: golang:1.17 - commands: - - make coverage \ No newline at end of file diff --git a/.gitea/workflows/test-cockroach.yml b/.gitea/workflows/test-cockroach.yml new file mode 100644 index 00000000..e5bb2437 --- /dev/null +++ b/.gitea/workflows/test-cockroach.yml @@ -0,0 +1,54 @@ +name: test cockroach +on: + push: + branches: + - master + pull_request: + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + test-cockroach: + name: test cockroach + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: test cockroach + env: + TEST_COCKROACH_HOST: "cockroach:26257" + TEST_COCKROACH_DBNAME: xorm_test + TEST_COCKROACH_USERNAME: root + TEST_COCKROACH_PASSWORD: + run: sleep 10 && make test-cockroach + + services: + cockroach: + image: cockroachdb/cockroach:v19.2.4 + cmd: + - /cockroach/cockroach start --insecure + ports: + - 3306:3306 \ No newline at end of file diff --git a/.gitea/workflows/test-mariadb.yml b/.gitea/workflows/test-mariadb.yml new file mode 100644 index 00000000..e7451adb --- /dev/null +++ b/.gitea/workflows/test-mariadb.yml @@ -0,0 +1,56 @@ +name: test mariadb +on: + push: + branches: + - master + pull_request: + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + lint: + name: test mariadb + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: test mariadb + env: + TEST_MYSQL_HOST: mariadb + TEST_MYSQL_CHARSET: utf8mb4 + TEST_MYSQL_DBNAME: xorm_test + TEST_MYSQL_USERNAME: root + TEST_MYSQL_PASSWORD: + run: TEST_QUOTE_POLICY=reserved make test-mysql + + services: + mariadb: + image: mariadb:10.4 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: xorm_test + ports: + - 3306:3306 \ No newline at end of file diff --git a/.gitea/workflows/test-mssql.yml b/.gitea/workflows/test-mssql.yml new file mode 100644 index 00000000..079fa271 --- /dev/null +++ b/.gitea/workflows/test-mssql.yml @@ -0,0 +1,56 @@ +name: test mssql +on: + push: + branches: + - master + pull_request: + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + test-mssql: + name: test mssql + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: test mssql + env: + TEST_MSSQL_HOST: mssql + TEST_MSSQL_DBNAME: xorm_test + TEST_MSSQL_USERNAME: sa + TEST_MSSQL_PASSWORD: "yourStrong(!)Password" + run: TEST_MSSQL_DEFAULT_VARCHAR=NVARCHAR TEST_MSSQL_DEFAULT_CHAR=NCHAR make test-mssql + + services: + mssql: + image: mcr.microsoft.com/mssql/server:latest + env: + ACCEPT_EULA: Y + SA_PASSWORD: yourStrong(!)Password + MSSQL_PID: Standard + ports: + - 1433:1433 \ No newline at end of file diff --git a/.gitea/workflows/test.yml b/.gitea/workflows/test-mysql.yml similarity index 66% rename from .gitea/workflows/test.yml rename to .gitea/workflows/test-mysql.yml index d17058d0..173ed663 100644 --- a/.gitea/workflows/test.yml +++ b/.gitea/workflows/test-mysql.yml @@ -1,7 +1,9 @@ -name: checks +name: test mysql on: - - push - - pull_request + push: + branches: + - master + pull_request: env: GOPROXY: https://goproxy.io,direct @@ -9,8 +11,8 @@ env: GOCACHE: /go_cache jobs: - lint: - name: check and test + test-mysql: + name: test mysql runs-on: ubuntu-latest steps: - name: cache go path @@ -21,7 +23,7 @@ jobs: key: go_path-${{ github.repository }}-${{ github.ref_name }} restore-keys: | go_path-${{ github.repository }}- - go_path- + go_path- - name: cache go cache id: cache-go-cache uses: https://github.com/actions/cache@v3 @@ -35,18 +37,6 @@ jobs: with: go-version: 1.20 - uses: https://github.com/actions/checkout@v3 - - name: vet - run: make vet - - name: format check - run: make fmt-check - - name: unit test - run: make test - - name: test sqlite3 - run: make test-sqlite3 - - name: test sqlite3 with cache - run: TEST_CACHE_ENABLE=true make test-sqlite3 - - name: test sqlite3 with quote policy - run: TEST_QUOTE_POLICY=reserved make test-sqlite - name: test mysql env: TEST_MYSQL_HOST: mysql @@ -55,6 +45,14 @@ jobs: TEST_MYSQL_USERNAME: root TEST_MYSQL_PASSWORD: run: TEST_CACHE_ENABLE=true make test-mysql + - name: test mysql utf8mb4 + env: + TEST_MYSQL_HOST: mysql + TEST_MYSQL_CHARSET: utf8mb4 + TEST_MYSQL_DBNAME: xorm_test_mb4 + TEST_MYSQL_USERNAME: root + TEST_MYSQL_PASSWORD: + run: TEST_QUOTE_POLICY=reserved make test-mysql-tls services: mysql: @@ -63,5 +61,4 @@ jobs: MYSQL_ALLOW_EMPTY_PASSWORD: yes MYSQL_DATABASE: xorm_test ports: - - 3306:3306 - #options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 \ No newline at end of file + - 3306:3306 \ No newline at end of file diff --git a/.gitea/workflows/test-mysql8.yml b/.gitea/workflows/test-mysql8.yml new file mode 100644 index 00000000..fe718f5b --- /dev/null +++ b/.gitea/workflows/test-mysql8.yml @@ -0,0 +1,56 @@ +name: test mysql8 +on: + push: + branches: + - master + pull_request: + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + lint: + name: test mysql8 + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: test mysql8 + env: + TEST_MYSQL_HOST: mysql8 + TEST_MYSQL_CHARSET: utf8mb4 + TEST_MYSQL_DBNAME: xorm_test + TEST_MYSQL_USERNAME: root + TEST_MYSQL_PASSWORD: + run: TEST_CACHE_ENABLE=true make test-mysql + + services: + mysql8: + image: mysql:8.0 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: yes + MYSQL_DATABASE: xorm_test + ports: + - 3306:3306 \ No newline at end of file diff --git a/.gitea/workflows/test-postgres.yml b/.gitea/workflows/test-postgres.yml new file mode 100644 index 00000000..1923caa3 --- /dev/null +++ b/.gitea/workflows/test-postgres.yml @@ -0,0 +1,79 @@ +name: test postgres +on: + push: + branches: + - master + pull_request: + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + lint: + name: test postgres + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: test postgres + env: + TEST_PGSQL_HOST: pgsql + TEST_PGSQL_DBNAME: xorm_test + TEST_PGSQL_USERNAME: postgres + TEST_PGSQL_PASSWORD: postgres + run: TEST_CACHE_ENABLE=true make test-postgres + - name: test postgres with schema + env: + TEST_PGSQL_HOST: pgsql + TEST_PGSQL_SCHEMA: xorm + TEST_PGSQL_DBNAME: xorm_test + TEST_PGSQL_USERNAME: postgres + TEST_PGSQL_PASSWORD: postgres + run: TEST_QUOTE_POLICY=reserved make test-postgres + - name: test pgx + env: + TEST_PGSQL_HOST: pgsql + TEST_PGSQL_DBNAME: xorm_test + TEST_PGSQL_USERNAME: postgres + TEST_PGSQL_PASSWORD: postgres + run: TEST_CACHE_ENABLE=true make test-pgx + - name: test pgx with schema + env: + TEST_PGSQL_HOST: pgsql + TEST_PGSQL_SCHEMA: xorm + TEST_PGSQL_DBNAME: xorm_test + TEST_PGSQL_USERNAME: postgres + TEST_PGSQL_PASSWORD: postgres + run: TEST_QUOTE_POLICY=reserved make test-pgx + + services: + pgsql: + image: postgres:9.5 + env: + POSTGRES_DB: xorm_test + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + ports: + - 5432:5432 \ No newline at end of file diff --git a/.gitea/workflows/test-sqlite.yml b/.gitea/workflows/test-sqlite.yml new file mode 100644 index 00000000..61988365 --- /dev/null +++ b/.gitea/workflows/test-sqlite.yml @@ -0,0 +1,49 @@ +name: test sqlite +on: + push: + branches: + - master + pull_request: + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + test-sqlite: + name: unit test & test sqlite + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: vet + run: make vet + - name: format check + run: make fmt-check + - name: unit test + run: make test + - name: test sqlite3 + run: make test-sqlite3 + - name: test sqlite3 with cache + run: TEST_CACHE_ENABLE=true make test-sqlite3 \ No newline at end of file diff --git a/.gitea/workflows/test-tidb.yml b/.gitea/workflows/test-tidb.yml new file mode 100644 index 00000000..94b82d98 --- /dev/null +++ b/.gitea/workflows/test-tidb.yml @@ -0,0 +1,52 @@ +name: test tidb +on: + push: + branches: + - master + pull_request: + +env: + GOPROXY: https://goproxy.io,direct + GOPATH: /go_path + GOCACHE: /go_cache + +jobs: + test-tidb: + name: test tidb + runs-on: ubuntu-latest + steps: + - name: cache go path + id: cache-go-path + uses: https://github.com/actions/cache@v3 + with: + path: /go_path + key: go_path-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_path-${{ github.repository }}- + go_path- + - name: cache go cache + id: cache-go-cache + uses: https://github.com/actions/cache@v3 + with: + path: /go_cache + key: go_cache-${{ github.repository }}-${{ github.ref_name }} + restore-keys: | + go_cache-${{ github.repository }}- + go_cache- + - uses: actions/setup-go@v3 + with: + go-version: 1.20 + - uses: https://github.com/actions/checkout@v3 + - name: test tidb + env: + TEST_TIDB_HOST: "tidb:4000" + TEST_TIDB_DBNAME: xorm_test + TEST_TIDB_USERNAME: root + TEST_TIDB_PASSWORD: + run: make test-tidb + + services: + tidb: + image: pingcap/tidb:v3.0.3 + ports: + - 4000:4000 \ No newline at end of file -- 2.40.1 From 01b0250b2adc803178c4fa5d70f5b08890b00940 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 25 May 2023 14:20:27 +0800 Subject: [PATCH 6/9] Fix cockroach --- .gitea/workflows/test-cockroach.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitea/workflows/test-cockroach.yml b/.gitea/workflows/test-cockroach.yml index e5bb2437..705a348c 100644 --- a/.gitea/workflows/test-cockroach.yml +++ b/.gitea/workflows/test-cockroach.yml @@ -49,6 +49,4 @@ jobs: cockroach: image: cockroachdb/cockroach:v19.2.4 cmd: - - /cockroach/cockroach start --insecure - ports: - - 3306:3306 \ No newline at end of file + - /cockroach/cockroach start --insecure \ No newline at end of file -- 2.40.1 From 5fb2eaa43ff41edb778e25538463f6c4953f8f2d Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 25 May 2023 17:20:01 +0800 Subject: [PATCH 7/9] Disable cache tempororily --- .gitea/workflows/test-cockroach.yml | 42 +++++++++++++++-------------- .gitea/workflows/test-mariadb.yml | 36 ++++++++++++------------- .gitea/workflows/test-mssql.yml | 36 ++++++++++++------------- .gitea/workflows/test-mysql.yml | 36 ++++++++++++------------- .gitea/workflows/test-mysql8.yml | 36 ++++++++++++------------- .gitea/workflows/test-postgres.yml | 36 ++++++++++++------------- .gitea/workflows/test-sqlite.yml | 36 ++++++++++++------------- .gitea/workflows/test-tidb.yml | 36 ++++++++++++------------- 8 files changed, 148 insertions(+), 146 deletions(-) diff --git a/.gitea/workflows/test-cockroach.yml b/.gitea/workflows/test-cockroach.yml index 705a348c..a862f525 100644 --- a/.gitea/workflows/test-cockroach.yml +++ b/.gitea/workflows/test-cockroach.yml @@ -15,24 +15,24 @@ jobs: name: test cockroach runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 @@ -43,10 +43,12 @@ jobs: TEST_COCKROACH_DBNAME: xorm_test TEST_COCKROACH_USERNAME: root TEST_COCKROACH_PASSWORD: - run: sleep 10 && make test-cockroach + run: sleep 20 && make test-cockroach services: cockroach: image: cockroachdb/cockroach:v19.2.4 cmd: - - /cockroach/cockroach start --insecure \ No newline at end of file + - '/cockroach/cockroach' + - 'start' + - '--insecure' \ No newline at end of file diff --git a/.gitea/workflows/test-mariadb.yml b/.gitea/workflows/test-mariadb.yml index e7451adb..466f3858 100644 --- a/.gitea/workflows/test-mariadb.yml +++ b/.gitea/workflows/test-mariadb.yml @@ -15,24 +15,24 @@ jobs: name: test mariadb runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 diff --git a/.gitea/workflows/test-mssql.yml b/.gitea/workflows/test-mssql.yml index 079fa271..d02e6956 100644 --- a/.gitea/workflows/test-mssql.yml +++ b/.gitea/workflows/test-mssql.yml @@ -15,24 +15,24 @@ jobs: name: test mssql runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 diff --git a/.gitea/workflows/test-mysql.yml b/.gitea/workflows/test-mysql.yml index 173ed663..cc333f32 100644 --- a/.gitea/workflows/test-mysql.yml +++ b/.gitea/workflows/test-mysql.yml @@ -15,24 +15,24 @@ jobs: name: test mysql runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 diff --git a/.gitea/workflows/test-mysql8.yml b/.gitea/workflows/test-mysql8.yml index fe718f5b..3fbd7c30 100644 --- a/.gitea/workflows/test-mysql8.yml +++ b/.gitea/workflows/test-mysql8.yml @@ -15,24 +15,24 @@ jobs: name: test mysql8 runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 diff --git a/.gitea/workflows/test-postgres.yml b/.gitea/workflows/test-postgres.yml index 1923caa3..89aa72c3 100644 --- a/.gitea/workflows/test-postgres.yml +++ b/.gitea/workflows/test-postgres.yml @@ -15,24 +15,24 @@ jobs: name: test postgres runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 diff --git a/.gitea/workflows/test-sqlite.yml b/.gitea/workflows/test-sqlite.yml index 61988365..cca2e786 100644 --- a/.gitea/workflows/test-sqlite.yml +++ b/.gitea/workflows/test-sqlite.yml @@ -15,24 +15,24 @@ jobs: name: unit test & test sqlite runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 diff --git a/.gitea/workflows/test-tidb.yml b/.gitea/workflows/test-tidb.yml index 94b82d98..fa6e27ad 100644 --- a/.gitea/workflows/test-tidb.yml +++ b/.gitea/workflows/test-tidb.yml @@ -15,24 +15,24 @@ jobs: name: test tidb runs-on: ubuntu-latest steps: - - name: cache go path - id: cache-go-path - uses: https://github.com/actions/cache@v3 - with: - path: /go_path - key: go_path-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_path-${{ github.repository }}- - go_path- - - name: cache go cache - id: cache-go-cache - uses: https://github.com/actions/cache@v3 - with: - path: /go_cache - key: go_cache-${{ github.repository }}-${{ github.ref_name }} - restore-keys: | - go_cache-${{ github.repository }}- - go_cache- + # - name: cache go path + # id: cache-go-path + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_path + # key: go_path-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_path-${{ github.repository }}- + # go_path- + # - name: cache go cache + # id: cache-go-cache + # uses: https://github.com/actions/cache@v3 + # with: + # path: /go_cache + # key: go_cache-${{ github.repository }}-${{ github.ref_name }} + # restore-keys: | + # go_cache-${{ github.repository }}- + # go_cache- - uses: actions/setup-go@v3 with: go-version: 1.20 -- 2.40.1 From 68f9194eea04867bc7a404eca6a568d2ad896bcd Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 25 May 2023 17:22:49 +0800 Subject: [PATCH 8/9] Remove utf8 test --- .gitea/workflows/test-mysql.yml | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.gitea/workflows/test-mysql.yml b/.gitea/workflows/test-mysql.yml index cc333f32..03ee2725 100644 --- a/.gitea/workflows/test-mysql.yml +++ b/.gitea/workflows/test-mysql.yml @@ -37,19 +37,11 @@ jobs: with: go-version: 1.20 - uses: https://github.com/actions/checkout@v3 - - name: test mysql - env: - TEST_MYSQL_HOST: mysql - TEST_MYSQL_CHARSET: utf8 - TEST_MYSQL_DBNAME: xorm_test - TEST_MYSQL_USERNAME: root - TEST_MYSQL_PASSWORD: - run: TEST_CACHE_ENABLE=true make test-mysql - name: test mysql utf8mb4 env: TEST_MYSQL_HOST: mysql TEST_MYSQL_CHARSET: utf8mb4 - TEST_MYSQL_DBNAME: xorm_test_mb4 + TEST_MYSQL_DBNAME: xorm_test TEST_MYSQL_USERNAME: root TEST_MYSQL_PASSWORD: run: TEST_QUOTE_POLICY=reserved make test-mysql-tls -- 2.40.1 From d0261f93bd55771733655b2446b350235895ed2d Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 25 May 2023 18:06:42 +0800 Subject: [PATCH 9/9] Add port --- .gitea/workflows/test-cockroach.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitea/workflows/test-cockroach.yml b/.gitea/workflows/test-cockroach.yml index a862f525..20462688 100644 --- a/.gitea/workflows/test-cockroach.yml +++ b/.gitea/workflows/test-cockroach.yml @@ -48,6 +48,8 @@ jobs: services: cockroach: image: cockroachdb/cockroach:v19.2.4 + ports: + - 26257:26257 cmd: - '/cockroach/cockroach' - 'start' -- 2.40.1