patch 8.2.1555: not all tests are executed on Github Actions

Problem:    Not all tests are executed on Github Actions.
Solution:   Copy "src" to "src2" earlier. Recognize "src2" in a couple more
            places.  Add two tests to the list of flaky tests. (Ken Takata,
            closes #6798)
diff --git a/.github/workflows/ci-windows.yaml b/.github/workflows/ci-windows.yaml
index d23beef..0fef20d 100644
--- a/.github/workflows/ci-windows.yaml
+++ b/.github/workflows/ci-windows.yaml
@@ -127,6 +127,11 @@
         )
         goto :eof
 
+    - name: Copy src directory to src2
+      shell: cmd
+      run: |
+        xcopy src src2\ /E > nul
+
     - name: Build (MSVC)
       if: matrix.toolchain == 'msvc'
       shell: cmd
@@ -196,10 +201,6 @@
         echo %COL_GREEN%vim version:%COL_RESET%
         .\vim --version || exit 1
 
-        mkdir ..\src2
-        xcopy testdir ..\src2\testdir\ /E > nul || exit 1
-        copy evalfunc.c ..\src2 > nul
-
         echo %COL_GREEN%Start testing vim in background.%COL_RESET%
         start cmd /c "cd ..\src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
 
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 9985404..1a83227 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -382,7 +382,9 @@
 
 " Names of flaky tests.
 let s:flaky_tests = [
+      \ 'Test_BufWrite_lockmarks()',
       \ 'Test_autocmd_SafeState()',
+      \ 'Test_bufunload_all()',
       \ 'Test_client_server()',
       \ 'Test_close_and_exit_cb()',
       \ 'Test_close_output_buffer()',
diff --git a/src/testdir/test_python2.vim b/src/testdir/test_python2.vim
index 8fa7340..fd8fe70 100644
--- a/src/testdir/test_python2.vim
+++ b/src/testdir/test_python2.vim
@@ -2412,7 +2412,7 @@
     cb.append(vim.eval('@%'))
     os.chdir('..')
     path = fnamemodify('.', ':p:h:t')
-    if path != 'src':
+    if path != 'src' and path != 'src2':
       # Running tests from a shadow directory, so move up another level
       # This will result in @% looking like shadow/testdir/Xfile, hence the
       # extra fnamemodify
@@ -2422,7 +2422,8 @@
       os.chdir(path)
       del path
     else:
-      cb.append(fnamemodify('.', ':p:h:t'))
+      # Also accept running from src2/testdir/ for MS-Windows CI.
+      cb.append(fnamemodify('.', ':p:h:t').replace('src2', 'src'))
       cb.append(vim.eval('@%').replace(os.path.sep, '/'))
     os.chdir('testdir')
     cb.append(fnamemodify('.', ':p:h:t'))
diff --git a/src/testdir/test_python3.vim b/src/testdir/test_python3.vim
index 0885c96..1bdb4c1 100644
--- a/src/testdir/test_python3.vim
+++ b/src/testdir/test_python3.vim
@@ -2591,7 +2591,7 @@
     cb.append(vim.eval('@%'))
     os.chdir('..')
     path = fnamemodify('.', ':p:h:t')
-    if path != b'src':
+    if path != b'src' and path != b'src2':
       # Running tests from a shadow directory, so move up another level
       # This will result in @% looking like shadow/testdir/Xfile, hence the
       # slicing to remove the leading path and path separator
@@ -2600,7 +2600,8 @@
       cb.append(vim.eval('@%')[len(path)+1:].replace(os.path.sep, '/'))
       os.chdir(path)
     else:
-      cb.append(str(fnamemodify('.', ':p:h:t')))
+      # Also accept running from src2/testdir/ for MS-Windows CI.
+      cb.append(str(fnamemodify('.', ':p:h:t').replace(b'src2', b'src')))
       cb.append(vim.eval('@%').replace(os.path.sep, '/'))
     del path
     os.chdir('testdir')
diff --git a/src/version.c b/src/version.c
index 92c533c..f5c83be 100644
--- a/src/version.c
+++ b/src/version.c
@@ -755,6 +755,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1555,
+/**/
     1554,
 /**/
     1553,