Skip to content

Commit

Permalink
.github: check connectivity of external links via GitHub action (#4135)…
Browse files Browse the repository at this point in the history
… (#4138)

* cherry pick #4135 to release-3.1

Signed-off-by: ti-srebot <ti-srebot@pingcap.com>

* resolve

* Update link-check.yaml

Co-authored-by: Keke Yi <40977455+yikeke@users.noreply.github.com>
Co-authored-by: yikeke <yikeke@pingcap.com>
  • Loading branch information
3 people authored Nov 3, 2020
1 parent 772717d commit fb4c0a6
Show file tree
Hide file tree
Showing 5 changed files with 42 additions and 12 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ jobs:
markdownlint $(git diff-tree --name-only --no-commit-id -r upstream/release-3.1..HEAD -- '*.md' ':(exclude).github/*')
- run:
name: "Check links"
name: "Check internal links"
command: |
scripts/verify-links.sh
- run:
name: "Check link anchors"
name: "Check internal link anchors"
command: |
scripts/verify-link-anchors.sh
Expand Down
31 changes: 31 additions & 0 deletions .github/workflows/link-check.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: external-link-check

on: [pull_request]

jobs:
base:
runs-on: ubuntu-18.04
steps:
- name: Check out code
uses: actions/checkout@v2

# NOTE:
# - the check process can be very fast,
# but if `-c` is too large then `Too Many Requests (HTTP error 429)` may be reported from `https://github.com/*`.
# - we hardcode `--document-root` to `/github/workspace` in the container now.
# - we use `http://172.*` as sample addresses in some docs, so we need to exclude them.
- name: Check external links
id: lc
uses: peter-evans/link-checker@v1
with:
args: -c 32 -d /github/workspace -r -x "http://172.*|https://github.com/.*/pull/.*|https://github.com/.*/issues/.*|https://github.com/[^.\n]*$|http://127.0.0.1.*|http://localhost.*|http://.*:.*|https://static.googleusercontent.com/media/research.google.com/.*|https://www.crunchbase.com/organization/.*|http://www.brendangregg.com/.*|.*.md" .

- name: Fail if there were external link errors
if: ${{ steps.lc.outputs.exit_code }}
run: |
echo "Please check the broken links reported in the previous step \"Check external links\"."
exit ${{ steps.lc.outputs.exit_code }}
# Debug via SSH if previous steps failed
#- name: Set up tmate session
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v2
11 changes: 5 additions & 6 deletions adopters.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ This is a list of TiDB adopters in various industries.
|[Xiaohongshu](https://en.wikipedia.org/wiki/Xiaohongshu)|E-commerce|[English](https://pingcap.com/case-studies/how-we-use-a-scale-out-htap-database-for-real-time-analytics-and-complex-queries); Chinese [#1](https://pingcap.com/cases-cn/user-case-xiaohongshu/), [#2](https://pingcap.com/cases-cn/user-case-xiaohongshu-2/)|
|[Happigo.com](https://www.crunchbase.com/organization/happigo-com)|E-commerce||
|[Yimutian](http://www.ymt.com/)|E-commerce||
|[Youju Tech](https://www.ujuz.cn/)|E-commerce||
|[Youju Tech](https://nn.yjyz.com/)|E-commerce||
|[Maizuo](https://www.crunchbase.com/organization/maizhuo)|E-commerce||
|[Mogujie](https://www.crunchbase.com/organization/mogujie)|E-commerce||
|[Zhihu](https://en.wikipedia.org/wiki/Zhihu)|Knowledge Sharing|[English](https://pingcap.com/case-studies/lesson-learned-from-queries-over-1.3-trillion-rows-of-data-within-milliseconds-of-response-time-at-zhihu/); [Chinese](https://pingcap.com/cases-cn/user-case-zhihu/)|
Expand All @@ -43,9 +43,9 @@ This is a list of TiDB adopters in various industries.
|[CAASDATA](https://www.caasdata.com/)|Big Data|[Chinese](https://pingcap.com/cases-cn/user-case-kasi/)|
|[Mobikok](http://www.mobikok.com/en/)|AdTech|[Chinese](https://pingcap.com/cases-cn/user-case-mobikok/)|
|[ZTO Express](https://www.crunchbase.com/organization/zto-express)| Logistics|[English](https://pingcap.com/case-studies/why-we-migrated-from-exadata-to-a-scale-out-htap-database-for-near-real-time-analytics); [Chinese](https://pingcap.com/cases-cn/user-case-zto-express/)|
|[G7 Networks](https://www.english.g7.com.cn/)| Logistics|[Chinese](https://pingcap.com/cases-cn/user-case-g7/)|
|[G7 Networks](https://www.crunchbase.com/organization/g7)| Logistics|[Chinese](https://pingcap.com/cases-cn/user-case-g7/)|
|[Hive-Box](http://www.fcbox.com/en/pc/index.html#/)|Logistics|[Chinese](https://pingcap.com/cases-cn/user-case-fengchao/)|
|[GAEA](http://www.gaea.com/en/)|Gaming|[English](https://pingcap.com/blog/2017-05-22-Comparison-between-MySQL-and-TiDB-with-tens-of-millions-of-data-per-day/); [Chinese](https://pingcap.com/cases-cn/user-case-gaea-ad/)|
|[GAEA](http://www.gaea.com/en/)|Gaming|[English](https://pingcap.com/case-studies/2017-05-22-Comparison-between-MySQL-and-TiDB-with-tens-of-millions-of-data-per-day); [Chinese](https://pingcap.com/cases-cn/user-case-gaea-ad/)|
|[YOOZOO Games](https://www.crunchbase.com/organization/yoozoo-games)|Gaming|[Chinese](https://pingcap.com/cases-cn/user-case-youzu/)|
|[Seasun Games](https://www.crunchbase.com/organization/seasun)|Gaming|[Chinese](https://pingcap.com/cases-cn/user-case-xishanju/)|
|[NetEase Games](https://game.163.com/en/)|Gaming||
Expand All @@ -72,15 +72,14 @@ This is a list of TiDB adopters in various industries.
|[360 Finance](https://www.crunchbase.com/organization/360-finance)|FinTech|[Chinese](https://pingcap.com/cases-cn/user-case-360/)|
|[Tongdun Technology](https://www.crunchbase.com/organization/tongdun-technology)|FinTech||
|[Wacai](https://www.crunchbase.com/organization/wacai)|FinTech||
|[Tree Finance](https://www.treefinance.com.cn/)|FinTech||
|[Tree Finance](http://treefinancegroup.com.au/)|FinTech||
|[Mashang Consumer Finance](https://www.crunchbase.com/organization/ms-finance)|FinTech||
|[Snowball Finance](https://www.crunchbase.com/organization/snowball-finance)|FinTech||
|[Shuangchuang Huipu](http://scphjt.com/)|FinTech||
|[QuantGroup](https://www.crunchbase.com/organization/quantgroup)|FinTech||
|[FINUP](https://www.crunchbase.com/organization/finup)|FinTech||
|[Meili Finance](https://www.crunchbase.com/organization/meili-jinrong)|FinTech||
|[Guolian Securities](https://www.crunchbase.com/organization/guolian-securities)|Financial Services||
|[Founder Securities](https://www.linkedin.com/company/founder-securities-co-ltd-/)|Financial Services||
|[Founder Securities](https://www.crunchbase.com/organization/keruyun-technology-beijing-co-ltd)|Financial Services||
|[China Telecom Shanghai](http://www.189.cn/sh/)|Telecom||
|[State Administration of Taxation](https://en.wikipedia.org/wiki/State_Administration_of_Taxation)|Finance||
|[Hainan eKing Technology](https://www.crunchbase.com/organization/hainan-eking-technology)|Enterprise Technology|[Chinese](https://pingcap.com/cases-cn/user-case-ekingtech/)|
Expand Down
6 changes: 3 additions & 3 deletions connectors-and-apis.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ TiDB is compatible with all Connectors and APIs of MySQL (5.6, 5.7), including:
- [MySQL Connector/Net](https://dev.mysql.com/doc/refman/5.7/en/connector-net-info.html)
- [MySQL Connector/ODBC](https://dev.mysql.com/doc/refman/5.7/en/connector-odbc-info.html)
- [MySQL Connector/Python](https://dev.mysql.com/doc/refman/5.7/en/connector-python-info.html)
- [MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api.html)
- [MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api-info.html)
- [MySQL PHP API](https://dev.mysql.com/doc/refman/5.7/en/apis-php-info.html)
- [MySQL Perl API](https://dev.mysql.com/doc/refman/5.7/en/apis-perl.html)
- [MySQL Python API](https://dev.mysql.com/doc/refman/5.7/en/apis-python.html)
Expand All @@ -40,7 +40,7 @@ Oracle develops the following APIs and TiDB is compatible with all of them:

## Connect to TiDB using MySQL C API

If you use C language programs to connect to TiDB, you can connect to `libmysqlclient` directly and use the MySQL [C API](https://dev.mysql.com/doc/refman/5.7/en/c-api.html). This is one of the major connection methods using C language, widely used by various clients and APIs, including Connector/C.
If you use C language programs to connect to TiDB, you can connect to `libmysqlclient` directly and use the MySQL [C API](https://dev.mysql.com/doc/refman/5.7/en/c-api-info.html). This is one of the major connection methods using C language, widely used by various clients and APIs, including Connector/C.

## Connect to TiDB using third-party MySQL APIs

Expand All @@ -49,7 +49,7 @@ The third-party APIs are not developed by Oracle. The following table lists the
| Environment | API | Type | Notes |
| -------------- | ---------------------------------------- | -------------------------------- | ---------------------------------------- |
| Ada | GNU Ada MySQL Bindings | `libmysqlclient` | See [MySQL Bindings for GNU Ada](http://gnade.sourceforge.net/) |
| C | C API | `libmysqlclient` | See [Section 27.8, “MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api.html) |
| C | C API | `libmysqlclient` | See [MySQL C API](https://dev.mysql.com/doc/refman/5.7/en/c-api-info.html) |
| C++ | Connector/C++ | `libmysqlclient` | See [MySQL Connector/C++ Developer Guide](https://dev.mysql.com/doc/connector-cpp/en/) |
| | MySQL++ | `libmysqlclient` | See [MySQL++ Web site](http://tangentsoft.net/mysql++/doc/) |
| | MySQL wrapped | `libmysqlclient` | See [MySQL wrapped](http://www.alhem.net/project/mysql/) |
Expand Down
2 changes: 1 addition & 1 deletion sql-statements/sql-statement-admin.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ mysql> admin show ddl jobs;
* `JOB_TYPE`: the type of the DDL operations.
* `SCHEMA_STATE`: the current state of the schema. If the `JOB_TYPE` is `add index`, it is the state of the index; if the `JOB_TYPE` is `add column`, it is the state of the column; if the `JOB_TYPE` is `create table`, it is the state of the table. The common states include:
* `none`: it indicates not existing. When the `drop` or `create` operation fails and rolls back, it usually becomes the `none` state.
* `delete only`, `write only`, `delete reorganization`, `write reorganization`: these four states are intermediate states. For details, see the paper [Online, Asynchronous Schema Change in F1](http://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41376.pdf). These states are not visible in common operations, because the conversion from the intermediate states is so quick. You can see the `write reorganization` state only in `add index` operations, which means that the index data is being added.
* `delete only`, `write only`, `delete reorganization`, `write reorganization`: these four states are intermediate states. For details, see the paper [Online, Asynchronous Schema Change in F1](https://static.googleusercontent.com/media/research.google.com/zh-CN//pubs/archive/41376.pdf). These states are not visible in common operations, because the conversion from the intermediate states is so quick. You can see the `write reorganization` state only in `add index` operations, which means that the index data is being added.
* `public`: it indicates existing and usable. When operations like `create table` and `add index/column` are finished, it usually becomes the `public` state, which means that the created table/column/index can be normally read and written now.
* `SCHEMA_ID`: the ID of the database on which the DDL operations are performed.
* `TABLE_ID`: the ID of the table on which the DDL operations are performed.
Expand Down

0 comments on commit fb4c0a6

Please sign in to comment.