watchman: getdeps: Capture artifacts from Github Actions CI builds (#750)

Summary:
This diff teaches the generated Github Actions configuration to copy the
executable outputs from the leaf project into an artifacts dir, and then capture
the artifacts in the build.

This page has details on the artifacts mechanism used by Github Actions:
https://github.com/actions/upload-artifact

This page has the "Artifacts" link on the RHS where an example of the artifacts
can be downloaded:
https://github.com/facebook/watchman/pull/750/checks?check_run_id=244088199

Here's the actual download:
https://github.com/facebook/watchman/suites/247296465/artifacts/74686

And here's what the inside of that zip file contains for the watchman build:

```
$ find . -ls
49685444        0 drwxr-xr-x    6 wez              mygroup      192 Oct  1 18:50 .
49685487       16 -rw-r--r--    1 wez              mygroup     6148 Oct  1 18:51 ./.DS_Store
49685446        0 drwxr-xr-x    5 wez              mygroup      160 Oct  1 18:51 ./mac
49685501       16 -rw-r--r--    1 wez              mygroup     6148 Oct  1 18:51 ./mac/.DS_Store
49685453        0 drwxr-xr-x    3 wez              mygroup       96 Oct  1 18:50 ./mac/bin
49685455     5432 -rwxr-xr-x    1 wez              mygroup  2778500 Oct  2 01:02 ./mac/bin/watchman
49685454        0 drwxr-xr-x    7 wez              mygroup      224 Oct  1 18:50 ./mac/lib
49685457      296 -rwxr-xr-x    1 wez              mygroup   149096 Oct  2 01:02 ./mac/lib/libgflags.2.2.dylib
49685460     1072 -rwxr-xr-x    1 wez              mygroup   546348 Oct  2 01:02 ./mac/lib/libssl.1.1.dylib
49685459      272 -rwxr-xr-x    1 wez              mygroup   135524 Oct  2 01:02 ./mac/lib/liblz4.1.dylib
49685458      352 -rwxr-xr-x    1 wez              mygroup   176900 Oct  2 01:02 ./mac/lib/libglog.0.dylib
49685456     4888 -rwxr-xr-x    1 wez              mygroup  2501012 Oct  2 01:02 ./mac/lib/libcrypto.1.1.dylib
49685445        0 drwxr-xr-x    5 wez              mygroup      160 Oct  1 18:50 ./linux
49685486       16 -rw-r--r--    1 wez              mygroup     6148 Oct  1 18:50 ./linux/.DS_Store
49685448        0 drwxr-xr-x    3 wez              mygroup       96 Oct  1 18:50 ./linux/bin
49685450   196264 -rwxr-xr-x    1 wez              mygroup 100486648 Oct  2 01:16 ./linux/bin/watchman
49685449        0 drwxr-xr-x    4 wez              mygroup      128 Oct  1 18:50 ./linux/lib
49685451     3864 -rwxr-xr-x    1 wez              mygroup  1976888 Oct  2 01:16 ./linux/lib/libgflags.so.2.2
49685452     2208 -rwxr-xr-x    1 wez              mygroup  1127336 Oct  2 01:16 ./linux/lib/libglog.so.0
49685447        0 drwxr-xr-x    4 wez              mygroup      128 Oct  1 18:51 ./windows
49685513       16 -rw-r--r--    1 wez              mygroup     6148 Oct  1 18:51 ./windows/.DS_Store
49685461        0 drwxr-xr-x    5 wez              mygroup      160 Oct  2 01:44 ./windows/bin
49685464     7880 -rwxr-xr-x    1 wez              mygroup  4030976 Oct  2 01:44 ./windows/bin/watchman.exe
49685463      488 -rwxr-xr-x    1 wez              mygroup   249856 Oct  2 01:44 ./windows/bin/glog.dll
49685462      544 -rwxr-xr-x    1 wez              mygroup   278016 Oct  2 01:44 ./windows/bin/gflags.dll
```

The `main.yml` file was updated by running:

```
$ opensource/fbcode_builder/getdeps.py generate-github-actions --output-file watchman/.github/workflows/main.yml watchman
```

Pull Request resolved: https://github.com/facebook/watchman/pull/750

Test Plan: See description above

Reviewed By: pkaush

Differential Revision: D17705148

Pulled By: wez

fbshipit-source-id: 4f3c466180f5a1cb9fa31a9b3b3f117876f8b89d
This commit is contained in:
Wez Furlong 2019-10-04 10:02:04 -07:00 committed by Facebook Github Bot
parent 0b5a1295fc
commit 0db060013e

View File

@ -656,6 +656,16 @@ jobs:
% manifest.name
)
out.write(" - name: Copy artifacts\n")
out.write(
" run: python build/fbcode_builder/getdeps.py fixup-dyn-deps "
"--src-dir=. %s _artifacts/%s\n" % (manifest.name, job_name)
)
out.write(" - uses: actions/upload-artifact@master\n")
out.write(" with:\n")
out.write(" name: %s\n" % manifest.name)
out.write(" path: _artifacts\n")
out.write(" - name: Test %s\n" % manifest.name)
out.write(
" run: python build/fbcode_builder/getdeps.py test --src-dir=. %s\n"