.bazelrc: ask for C++17 now

Also update README.md to explain to users (and future me).

Also update ci-bazel.yml to drop Python 3.8 and add 3.13.
(Missed this file when updating python.yml.)

Change-Id: Idbad8d392b88c5c38a59d5e0e2a1b5ff438990e6
Reviewed-on: https://code-review.googlesource.com/c/re2/+/63792
Reviewed-by: Alan Donovan <adonovan@google.com>
diff --git a/.bazelrc b/.bazelrc
index 0311dd3..b1d86c1 100644
--- a/.bazelrc
+++ b/.bazelrc
@@ -7,11 +7,11 @@
 # Enable parse headers features. Enforcing that headers are self-contained.
 build --features=parse_headers
 
-# Abseil requires C++14 at minimum.
+# Abseil requires C++17 at minimum.
 build --enable_platform_specific_config
-build:linux --cxxopt=-std=c++14
-build:macos --cxxopt=-std=c++14
-build:windows --cxxopt=/std:c++14
+build:linux --cxxopt=-std=c++17
+build:macos --cxxopt=-std=c++17
+build:windows --cxxopt=/std:c++17
 
 # Print test logs for failed tests.
 test --test_output=errors
diff --git a/.github/workflows/ci-bazel.yml b/.github/workflows/ci-bazel.yml
index c04a2cd..3c43fea 100644
--- a/.github/workflows/ci-bazel.yml
+++ b/.github/workflows/ci-bazel.yml
@@ -11,7 +11,7 @@
       fail-fast: false
       matrix:
         os: [macos-latest, ubuntu-latest, windows-latest]
-        ver: ['3.8', '3.9', '3.10', '3.11', '3.12']
+        ver: ['3.9', '3.10', '3.11', '3.12', '3.13']
     env:
       BAZELISK_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
     steps:
diff --git a/README.md b/README.md
index 5909198..e9904b9 100644
--- a/README.md
+++ b/README.md
@@ -216,8 +216,9 @@
 	bazelisk build :all
 	bazelisk test :all
 
-You may need to add `--cxxopt=-std=c++17` or `--cxxopt=/std:c++17` before `:all` on some systems.
-(One would think Bazel's C++ build support would handle that for you!)
+If you are using RE2 from another project, you need to make sure you are
+using at least C++17.
+See the RE2 [.bazelrc](https://github.com/google/re2/blob/main/.bazelrc) file for an example.
 
 ### Ports and Wrappers