tarantool / doc

Tarantool documentation
https://www.tarantool.io/en/doc/
Other
15 stars 43 forks source link

Autocheck that old URLs have proper redirects #1678

Closed Totktonada closed 2 years ago

Totktonada commented 3 years ago

See, a lot of times we broke the old URLs:

https://github.com/tarantool/doc/issues/220 https://github.com/tarantool/doc/issues/336 https://github.com/tarantool/doc/issues/710 https://github.com/tarantool/doc/issues/1491 https://github.com/tarantool/doc/issues/1653 https://github.com/tarantool/doc/issues/1677

So we unable to lean on the current URLs when writting an article or a documentation of a module. After some time, they will be broken.

I hope that is a tool, which may check the website for problems of this kind.

artur-barsegyan commented 3 years ago

It's already done in the weekly report. Check out the last one and scroll to the bottom of the letter.

You will see this:

Снимок экрана 2021-04-09 в 12 23 26 PM
Totktonada commented 3 years ago

Just checked and reopened three of seven issues linked above. Sure, it is good to have information about 404 errors, but it does not guarantee that we'll not broke old URLs. This issue is about a tool that compares a set of available URLs before and after a change. If the latter set does not contain some items from the former, we're in a trouble.

If the website team does not bother about the website reliability, let's close the issue as won't fix rather than fixed.

Totktonada commented 3 years ago

Raw idea: we can start from a constant list of URLs and add new ones when the sitemap is changed.

artur-barsegyan commented 2 years ago

Why that issue was closed? The referenced PR is doesn't solve the problem.

lastoCHka42 commented 2 years ago

for now I will get letters about top-404 and make redirects. Or is it better to left this issue open?

Totktonada commented 2 years ago

This issue is not resolved. I already wrote why, see above. It seems I even convinced Artur, wow.

I still find broken URLs in projects' README files and docs from time to time. I still think that our users should not see 404 errors while going across links in our projects, on StackOverflow or in publications. Each of those URLs may be used rarely, but something is almost always going to broke.

If we'll not start to spot such problems before delivery, they will never gone. If so, the website will not be usable to give a link to the documentation. We should wrap all links in any docs or articles using achive.org or something like this.

It seems, I need to prove that we unable to use the always-broken website even within our organization. Okay.

I have a dump of all public repositories within the organization from 2020-08-18. Let's show hits and misses:

$ echo -e 'URL | Result |\n| --- | --- |'; grep -REho 'https?://(www\.)?tarantool.(org|io)/[^] <>"'"'"')]+' 2>/dev/null | grep -v '{{' | while read url; do url="${url%%.}"; url="${url%%,}"; result="$(curl -SsfL "${url}" 2>&1 >/dev/null && echo OK)"; echo "| ${url} | ${result} |"; done
URL Result
https://tarantool.org/doc OK
https://tarantool.org/doc OK
https://tarantool.org/doc OK
https://tarantool.org/this/page/not/exists curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/download/rocks OK
http://tarantool.org/dist/public.key OK
http://tarantool.org/dist/stable/ubuntu/ OK
http://tarantool.org/dist/stable/ubuntu/ OK
http://tarantool.org/doc/book/app_c_lua_tutorial.html curl: (22) The requested URL returned error: 404
https://tarantool.org/_static/favicon/favicon-96x96.png curl: (22) The requested URL returned error: 404
https://tarantool.org/_static/favicon/favicon-96x96.png curl: (22) The requested URL returned error: 404
http://tarantool.org/download.html OK
https://tarantool.org/en/download/rocks.html OK
http://tarantool.org/rocks.html OK
https://tarantool.org/en/doc/1.7/reference/tarantoolctl.html OK
https://www.tarantool.io/en/doc/2.2/book/box/box_txn_management/ curl: (22) The requested URL returned error: 404
https://tarantool.io/installer.sh OK
http://tarantool.org/doc/ OK
http://tarantool.org/doc/book/box/authentication.html?highlight=function#functions-and-the-func-space curl: (22) The requested URL returned error: 404
https://tarantool.org/en/doc/2.0/book/box/data_model.html#indexed-field-types OK
http://www.tarantool.org/v1 curl: (22) The requested URL returned error: 404
https://tarantool.io/en/doc/2.0/book/getting_started/using_docker/ curl: (22) The requested URL returned error: 404
http://www.tarantool.org/v1 curl: (22) The requested URL returned error: 404
https://tarantool.io/en/doc/2.0/book/box/data_model/ OK
https://tarantool.org/doc/book/box/index.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/json.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/yaml.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/msgpack.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/csv.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/net_box.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/fiber.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/socket.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/fio.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/clock.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/log.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/digest.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/uuid.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/tap.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/console.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/reference_lua/xlog.html curl: (22) The requested URL returned error: 404
http://tarantool.org/download.html OK
https://tarantool.io/blog OK
https://tarantool.io/blog OK
https://www.tarantool.io/en/doc/1.10/reference/reference_lua/box_space/#box-space-update OK
http://tarantool.org/doc/user_guide.html OK
http://tarantool.org/doc/dev_guide/box-protocol.html curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/ OK
https://www.tarantool.io/en/doc/latest/dev_guide/internals/box_protocol/ OK
http://tarantool.org/doc/book/index.html OK
http://tarantool.org/tarantool_user_guide.html curl: (22) The requested URL returned error: 404
http://tarantool.org/tarantool_user_guide.html#stored-programs curl: (22) The requested URL returned error: 404
http://tarantool.org/tarantool_user_guide.html#stored-programs curl: (22) The requested URL returned error: 404
https://tarantool.io/en/doc/latest/reference/reference_lua/net_box/#net-box-eval OK
https://tarantool.io/en/doc/latest/reference/reference_lua/net_box/#net-box-call OK
http://tarantool.org/download.html OK
http://tarantool.org/doc/book/box/box_space.html?highlight=insert#lua-function.space_object.update OK
http://tarantool.org/doc/book/box/box_space.html?highlight=insert#lua-function.space_object.update OK
https://tarantool.org/en/doc/1.7/book/admin/backups.html#hot-backup-vinyl-memtx OK
http://tarantool.org/tarantool_user_guide.html curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/ curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
http://tarantool.org/dist/master/debian/pool/main/t/tarantool/tarantool_1.6.3+314+g91066ee+20140910+1434.orig.tar.gz: curl: (22) The requested URL returned error: 404
https://tarantool.io/en/doc/ OK
https://www.tarantool.io/en/download/os-installation/debian/ OK
https://www.tarantool.io/en/download/os-installation/ubuntu/ OK
https://www.tarantool.io/en/download/os-installation/rhel-centos/ OK
https://www.tarantool.io/en/download/os-installation/fedora/ OK
http://tarantool.org/benchmark.html curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/book/administration.html curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/ OK
http://tarantool.org/doc/ OK
https://tarantool.io/en/ OK
https://tarantool.io/en/download/ OK
https://tarantool.io/en/doc/2.1/dev_guide/building_from_source/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/try-dev/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.io/en/doc/ OK
https://tarantool.org/doc OK
https://tarantool.io/en/doc/ OK
http://tarantool.org/doc/ OK
http://tarantool.org/doc/dev_guide/box-protocol.html curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/ OK
https://tarantool.org/en/doc/reference/configuration/index.html#uri OK
https://tarantool.org/en/doc/reference/configuration/index.html?highlight=uri#uri OK
http://tarantool.org/doc/book/box/box_space.html OK
http://tarantool.org/doc/book/box/authentication.html curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/book/box/box_index.html curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/book/box/box_space.html#lua-function.space_object.update OK
https://tarantool.org/doc/book/box/box_space.html#lua-function.space_object.insert OK
http://tarantool.org/doc/book/box/box_space.html#lua-function.space_object.upsert OK
https://tarantool.org/doc/book/box/box_space.html#lua-function.space_object.update OK
https://tarantool.org/doc/book/box/box_space.html#lua-function.space_object.replace OK
https://tarantool.org/doc/reference/reference_lua/net_box.html?highlight=eval#lua-function.conn.eval curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/2.1/tutorials/sql_tutorial/ OK
http://tarantool.org/dist/public.key OK
http://tarantool.org/dist/master/ubuntu/ curl: (22) The requested URL returned error: 404
https://tarantool.io/en/download/ OK
https://tarantool.io/ru/download/ OK
http://tarantool.org/download.html OK
http://tarantool.org/doc/reference/index.html OK
http://tarantool.org/doc/reference/capi.html curl: (22) The requested URL returned error: 404
http://tarantool.org/en/download/rocks.html OK
http://tarantool.org/en/doc/book/app_server/creating_app.html#modules-rocks-and-applications curl: (22) The requested URL returned error: 404
https://tarantool.io/installer.sh OK
https://tarantool.org/doc/1.7/dev_guide/internals_index.html#box-protocol-iproto-protocol curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#unified-packet-structure curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#response-packet-structure curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#requests curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#requests curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#requests curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#requests curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#requests curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#requests curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/dev_guide/internals_index.html#requests curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse/#cluster-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_admin/#enabling-automatic-failover OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev/#using-multiple-vshard-storage-groups OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_api/topics/failover.md/ curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_api/topics/failover.md/#eventual-failover curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_api/topics/failover.md/#stateful-failover curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_api/topics/failover.md/ curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_api/topics/failover.md/#eventual-failover curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev/#configuring-custom-roles OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev/#configuring-instances OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://www.tarantool.io/en/doc/1.10/reference/reference_lua/box_slab/#lua-function.box.slab.info OK
https://www.tarantool.io/en/doc/1.10/reference/reference_lua/box_slab/#lua-function.box.slab.info OK
http://tarantool.org/doc/book/box/box_space.html?highlight=upsert#lua-function.space_object.upsert OK
https://www.tarantool.io/en/developers/ OK
https://www.tarantool.io/en/cartridge/ OK
https://www.tarantool.io/en/developers/ OK
https://www.tarantool.io/en/cartridge/ OK
https://www.tarantool.io/en/datagrid/ OK
https://www.tarantool.io/en/product/enterprise/ OK
https://www.tarantool.io/ru/tdg/1.5/deployment/ OK
https://www.tarantool.io/ru/tdg/1.5/cluster_setup/#replicasets-roles-setup OK
https://www.tarantool.io/ru/tdg/1.5/domain_model/ OK
https://www.tarantool.io/ru/tdg/1.5/repair_queue/ OK
https://www.tarantool.io/ru/tdg/1.5/security/ OK
https://www.tarantool.io/ru/tdg/1.5/deployment/ OK
https://www.tarantool.io/ru/tdg/1.5/cluster_setup/#replicasets-roles-setup OK
https://www.tarantool.io/ru/doc/2.2/reference/reference_rock/vshard/vshard_architecture/#vshard-vbuckets OK
https://www.tarantool.io/ru/tdg/1.5/domain_model/#id13 OK
https://www.tarantool.io/ru/tdg/1.5/domain_model/ OK
https://www.tarantool.io/ru/tdg/1.5/repository_api/ OK
https://www.tarantool.io/ru/tdg/1.5/repair_queue/ OK
https://www.tarantool.io/ru/tdg/1.5/security/ OK
https://www.tarantool.io/ru/tdg/1.5/deployment/ OK
https://www.tarantool.io/ru/tdg/1.5/cluster_setup/#replicasets-roles-setup OK
https://www.tarantool.io/ru/tdg/1.5/domain_model/ OK
https://www.tarantool.io/ru/tdg/1.5/repair_queue/ OK
https://www.tarantool.io/ru/tdg/1.5/security/ OK
https://www.tarantool.io/ru/tdg/1.5/deployment/ OK
https://www.tarantool.io/ru/tdg/1.5/cluster_setup/#replicasets-roles-setup OK
https://www.tarantool.io/ru/tdg/1.5/domain_model/ OK
https://www.tarantool.io/ru/tdg/1.5/repair_queue/ OK
https://www.tarantool.io/ru/tdg/1.5/security/ OK
https://www.tarantool.io/ru/tdg/1.5/deployment/ OK
https://www.tarantool.io/ru/tdg/1.5/cluster_setup/#replicasets-roles-setup OK
https://www.tarantool.io/ru/tdg/1.5/domain_model/ OK
https://www.tarantool.io/ru/tdg/1.5/repair_queue/ OK
https://www.tarantool.io/ru/tdg/1.5/security/ OK
https://www.tarantool.io/ru/doc/2.2/book/cartridge/cartridge_dev/#cluster-roles OK
https://www.tarantool.io/ru/doc/2.2/book/cartridge/cartridge_dev/#cluster-roles OK
https://www.tarantool.io/ru/doc/2.2/reference/reference_rock/vshard/ OK
https://www.tarantool.io/ru/doc/2.2/reference/reference_rock/vshard/vshard_architecture/#virtual-buckets OK
https://tarantool.org/doc/ OK
https://tarantool.org/download.html OK
https://tarantool.org/careers.html OK
https://tarantool.org/doc/ OK
https://tarantool.org/download.html OK
https://tarantool.org/careers.html OK
https://tarantool.org/doc/ OK
https://tarantool.org/download.html OK
https://tarantool.org/careers.html OK
https://tarantool.org/doc/ OK
https://tarantool.org/download.html OK
https://tarantool.org/careers.html OK
https://www.tarantool.io/ru/ OK
https://tarantool.org/download.html OK
https://www.tarantool.io/en/doc/latest/book/monitoring/plugins/#graphite OK
https://www.tarantool.io/en/doc/latest/book/monitoring/plugins/#prometheus OK
https://www.tarantool.io/en/doc/latest/book/monitoring/plugins/#json OK
https://www.tarantool.io/en/doc/latest/book/monitoring/plugins/#writing-custom-plugins OK
https://www.tarantool.io/en/doc/latest/book/monitoring/plugins OK
https://www.tarantool.io/en/doc/latest/book/cartridge/topics/clusterwide-config/#managing-role-specific-data curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/book/monitoring/monitoring-getting-started curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/book/monitoring/metrics-api-reference curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/book/monitoring/plugins OK
https://www.tarantool.io/en/doc/latest/book/cartridge/topics/clusterwide-config/#managing-role-specific-data curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/book/connectors/index.html#go OK
http://tarantool.org/doc.html OK
http://tarantool.org/doc/dev_guide/box-protocol.html curl: (22) The requested URL returned error: 404
https://tarantool.io/installer.sh OK
https://www.tarantool.io/en/doc OK
https://tarantool.io/installer.sh OK
https://tarantool.io/en/doc/1.10/ OK
https://tarantool.org/doc/book/administration.html#administration-tarantoolctl-connect curl: (22) The requested URL returned error: 404
https://tarantool.org/doc/reference/configuration/index.html#box-cfg-params OK
https://tarantool.io/en/doc/1.9/dev_guide/release_management/#how-to-make-a-minor-release OK
https://tarantool.org/download.html OK
http://tarantool.org/ OK
https://tarantool.io/en/doc/reference/reference_lua/uuid.html curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/1.10/ OK
https://www.tarantool.io/en/doc/2.2/dev_guide/documentation_guidelines/ OK
https://tarantool.org/x.html#y curl: (22) The requested URL returned error: 404
https://tarantool.org/doc OK
https://www.tarantool.io/en/ OK
https://www.tarantool.io/en/ OK
https://www.tarantool.io/en/doc/1.10/tutorials/c_tutorial/#c-stored-procedures OK
http://tarantool.org/download.html OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
https://tarantool.io/en/download/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
https://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/rocks.html OK
https://www.tarantool.io/en/doc/1.10/book/app_server/installing_module/ OK
http://tarantool.org/rocks.html OK
http://tarantool.org/download.html OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse/#cluster-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse/#box-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/reference/configuration/ OK
https://tarantool.io/en/doc/latest/reference/reference_lua/net_box/#net-box-call OK
https://tarantool.io/en/doc/latest/reference/reference_lua/net_box/#net-box-call OK
https://www.tarantool.io/en/download/ OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/ curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/download/?v=1.10 OK
https://www.tarantool.io/en/download/?v=1.10 OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts-box-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/download/ OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#application-versioning OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#cluster-roles OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev/#deploying-an-application OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#configuring-instances OK
https://www.tarantool.io/ru/doc/latest/book/cartridge/cartridge_dev/#using-cartridge-ignore-files OK
https://tarantool.org/doc OK
https://tarantool.org/doc OK
https://www.tarantool.io/en/ OK
https://www.tarantool.io/en/ OK
https://www.tarantool.io/en/ OK
https://www.tarantool.io/en/ OK
https://tarantool.org/x.html#y curl: (22) The requested URL returned error: 404
https://tarantool.org/x.html#y curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/1.10/tutorials/c_tutorial/#c-stored- OK
https://www.tarantool.io/en/doc/1.10/tutorials/c_tutorial/#c-stored- OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
https://tarantool.org/download.html OK
https://tarantool.org/download.html OK
https://tarantool.io/ru/download/rocks OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/rocks.html OK
http://tarantool.org/rocks.html OK
http://tarantool.org/rocks.html OK
http://tarantool.org/rocks.html OK
https://www.tarantool.io/en/doc/1.10/book/app_server/installing_module/ OK
https://www.tarantool.io/en/doc/1.10/book/app_server/installing_module/ OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
https://www.tarantool.io/download/ OK
https://www.tarantool.io/ru/doc/1.10/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts- curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts- curl: (22) The requested URL returned error: 404
https://tarantool.io/en/doc/latest/reference/reference_lua/net_box/#net- OK
https://www.tarantool.io/en/doc/latest/reference/configuration/ OK
https://tarantool.io/en/doc/latest/reference/reference_lua/net_box/#net- OK
https://www.tarantool.io/en/download/ OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/ curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/download/?v=1.10 OK
https://www.tarantool.io/en/download/?v=1.10 OK
https://www.tarantool.io/en/download/?v=1.10 OK
https://www.tarantool.io/download/ OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev OK
https://www.tarantool.io/ru/doc/latest/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev OK
https://www.tarantool.io/download/ OK
https://www.tarantool.io/en/download/ OK
https://www.tarantool.io/en/download/os-installation OK
https://tarantool.io/installer.sh OK
https://www.tarantool.io/en/doc/1.10/getting_started/getting_started_cartridge/ OK
https://www.tarantool.io/en/doc/1.10/getting_started/getting_started_cartridge/ OK
https://tarantool.io/en/download/download.html OK
https://tarantool.io/en/download/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
https://tarantool.io/installer.sh OK
https://tarantool.org/x.html#y curl: (22) The requested URL returned error: 404
https://tarantool.org/doc OK
https://www.tarantool.io/en/ OK
https://www.tarantool.io/en/ OK
https://www.tarantool.io/en/doc/1.10/tutorials/c_tutorial/#c-stored-procedures OK
http://tarantool.org/download.html OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/download.html OK
http://tarantool.org/dist/1.7/ubuntu/ OK
http://tarantool.org/dist/1.7/ubuntu/ OK
https://tarantool.io/dist/pdf/ OK
https://tarantool.io/learn/ OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
https://tarantool.org/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/rocks.html OK
https://www.tarantool.io/en/doc/1.10/book/app_server/installing_module/ OK
http://tarantool.org/rocks.html OK
http://tarantool.org/download.html OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse/#cluster-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse/#box-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts-box-opts curl: (22) The requested URL returned error: 404
https://tarantool.io/en/download/download.html OK
http://tarantool.org/download.html OK
http://tarantool.org/download.html OK
https://tarantool.org/en/doc/1.7/book/app_server/installing_module.html#installing-a-module-from-a-repository OK
https://tarantool.org/doc/1.7/reference/reference_lua/socket.html OK
https://tarantool.org/doc/1.7/reference/reference_lua/fiber.html OK
https://tarantool.org/doc/book/configuration/index.html#uri OK
https://tarantool.org/doc/book/configuration/index.html#uri OK
http://tarantool.org/download.html OK
http://tarantool.org/doc/dev_guide/box-protocol.html curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/ OK
https://tarantool.org/download.html OK
https://tarantool.org/en/doc/1.7/book/box/data_model.html#tuple OK
https://tarantool.org/en/doc/1.7/book/box/box_space.html?highlight=update#lua-function.space_object.update curl: (22) The requested URL returned error: 404
https://tarantool.org/en/doc/1.7/book/box/box_space.html?highlight=update#box-space-upsert curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/dev_guide/box-protocol.html?highlight=protocol curl: (22) The requested URL returned error: 404
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://www.tarantool.io/en/download/ OK
https://www.tarantool.io/en/download/os-installation/building-from-source/ curl: (22) The requested URL returned error: 404
https://tarantool.io/installer.sh OK
https://www.tarantool.io/en/doc/latest/getting_started/getting_started_cartridge/ OK
https://www.tarantool.io/en/doc/latest/getting_started/getting_started_cartridge/ OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#application-versioning OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#cluster-roles OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#configuring-instances OK
https://tarantool.io/installer.sh OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#deploying-an-application OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_dev/#configuring-instances OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
https://tarantool.io/installer.sh OK
http://tarantool.org/doc/box-protocol.html curl: (22) The requested URL returned error: 404
https://tarantool.io/en/download/rocks OK
https://www.tarantool.io/en/download/ OK
http://tarantool.org/doc/dev_guide/box-protocol.html curl: (22) The requested URL returned error: 404
http://tarantool.org/doc/dev_guide/box-protocol.html#authentication curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/book/app_server/ OK
https://www.tarantool.io/en/download/ OK
https://www.tarantool.io/en/doc/latest/getting_started/getting_started_cartridge/ OK
https://www.tarantool.io/en/doc/latest/book/cartridge/ OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_api/ OK
https://tarantool.io/installer.sh OK
https://www.tarantool.io/en/doc/latest/book/admin/troubleshoot/ OK
https://www.tarantool.io/en/doc/latest/reference/configuration/#cfg-replication-replication-connect-quorum OK
https://www.tarantool.io/en/doc/latest/getting_started/getting_started_cartridge/ OK
https://www.tarantool.io/en/doc/latest/reference/reference_rock/vshard/ OK
https://www.tarantool.io/en/doc/latest/reference/reference_lua/box/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.admin/#edit-topology-args curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_api/modules/cartridge.argparse/#tables OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_cli/#usage-example OK
https://www.tarantool.io/en/doc/latest/book/cartridge/cartridge_api/modules/cartridge/#cfg-opts-box-opts OK
https://www.tarantool.io/en/doc/2.3/reference/configuration/#confval-log OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse/#cluster-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse/#box-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts-box-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/download/ OK
https://www.tarantool.io/ru/doc/1.10/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/2.2/book/cartridge/cartridge_dev OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cartridge/1.0/modules/cartridge.argparse curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts- curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts- curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/book/admin/ OK
https://www.tarantool.io/en/doc/latest/reference/reference_rock/vshard/ OK
https://www.tarantool.io/en/doc/1.10/reference/reference_rock/membership/ OK
https://www.tarantool.io/en/doc/latest/reference/reference_lua/box_cfg/ OK
https://www.tarantool.io/en/doc/latest/reference/reference_rock/vshard/vshard_admin/#rebalancing-process OK
https://www.tarantool.io/en/doc/latest/book/replication/ OK
https://www.tarantool.io/en/rocks/cluster/1.0/modules/cluster/#cfg-opts-box-opts curl: (22) The requested URL returned error: 404
https://www.tarantool.io/en/doc/latest/book/admin/troubleshoot/ OK
https://www.tarantool.io/en/doc/latest/book/admin/troubleshoot/ OK
https://www.tarantool.io/en/doc/latest/book/admin/disaster_recovery/ OK
https://www.tarantool.io/en/doc/latest/book/admin/backups/ OK
https://www.tarantool.io/en/doc/latest/reference/configuration/ OK
https://tarantool.io/en/doc/latest/reference/reference_lua/net_box/#net-box-call OK
http://tarantool.org/dist/master curl: (22) The requested URL returned error: 404
http://tarantool.org/download.html OK
https://tarantool.io/en/doc/latest/book/box/box_cfg/ curl: (22) The requested URL returned error: 404
https://tarantool.io/en/doc/latest/reference/reference_lua/crypto/ OK
https://tarantool.io/en/doc/latest/reference/reference_lua/fiber/#fiber-cond OK
http://tarantool.org/download.html OK
https://tarantool.org/doc/1.7/book/box/box_slab.html?highlight=slab%20info#lua-function.box.slab.info curl: (22) The requested URL returned error: 404

Be fair and close as won't fix if you're not going to fix the real issue.

kyukhin commented 2 years ago

We might want to setup some kind of regular check for such misses. Just brush Sasha's script a bit (apply unique at least) and put it into nightly testing on GH. However I have no idea in which repo to put the job.

Totktonada commented 2 years ago

README.md

# Clone all Tarantool public repositories

## How to run

```shell
./collect.sh # obtain list of repositories in repos-*.json
./list.sh    # obtain common list of repositories in list.txt
./clone.sh   # clone all repositories to repos/

collect.sh

```shell
#!/bin/sh

set -eux

repos_url='https://api.github.com/orgs/tarantool/repos'
page_count=$(curl -fsSI "${repos_url}" | grep '^link:' | sed -e 's/^.*repos?page=\([0-9]\+\)>; rel="last".*$/\1/')

for i in $(seq 1 ${page_count}); do
    curl -fsS "${repos_url}?page=${i}" > repos-${i}.json
done

list.sh

#!/bin/sh

set -eux

for f in repos-*.json; do
    jq --raw-output '.[] | .name' < "${f}"
done > list.txt

clone.sh

#!/bin/sh

set -eux

mkdir repos && cd repos

while read repo; do
    clone_url="https://github.com/tarantool/${repo}.git"
    git clone --depth 1 "${clone_url}"
done < ../list.txt

For collecting of all repositories (including private ones) use collect-auth.sh instead of collect.sh and adopt clone.sh (use ssh instead of https).

collect-auth.sh

#!/bin/sh

set -eux

repos_url='https://api.github.com/orgs/tarantool/repos'
page_count=$(curl -H "Authorization: token ${GITHUB_TOKEN}" -fsSI "${repos_url}" | grep '^link:' | sed -e 's/^.*repos?page=\([0-9]\+\)>; rel="last".*$/\1/')

for i in $(seq 1 ${page_count}); do
    curl -H "Authorization: token ${GITHUB_TOKEN}" -fsS "${repos_url}?page=${i}" > repos-${i}.json
done

Those scripts do not support incremental data update (neither for the list of repositories, nor for updating existing clones).

NickVolynkin commented 2 years ago

Will be implemented in tarantool/website-links#4