Summary:
To publish a new release, simply push a new tag named "v<version number>" to GitHub and this action will take care of creating a new release template and uploading the Linux (ubuntu-latest) and Mac binaries.
How it works:
- add a new "job" to the action that conditionally creates a new draft
release with pre-filled body. This runs only *once* (no matrix build),
unlike the main build job that runs on Linux + OSX (hence why we need
a separate job to avoid creating two copies of the release)
- the main build jobs depend on that release job so they have access to
the newly-created release if needed
- at the end of the main build job, create the release tarball for the
current architecture and add it to the release
Reviewed By: martintrojer
Differential Revision: D24193447
fbshipit-source-id: fd1bd447a
Summary:
Use the cache action to cache the clang build instead of the
facebook-clang-plugins releases.
- the facebook-clang-plugins repo is no longer by infer so its clang
will soon be out of date
- much simpler to use the cache action
- build clang before setting opam: this is unfortunate but needed to
ensure there is enough space on GitHub's machines to build clang...
- install ninja on Linux + Mac machines for faster and less OOM-y builds
Reviewed By: martintrojer
Differential Revision: D24160876
fbshipit-source-id: 705e06151
Summary:
Fix the path to ~/.opam, and move *before* the OCaml setup so that OCaml
is cached too.
I'm not convinced it ever worked, as `${HOME}` is not interpreted by the
action.
Reviewed By: martintrojer
Differential Revision: D24160822
fbshipit-source-id: b1e0fcd59
Summary:
After merging https://github.com/facebook/facebook-clang-plugins/pull/20, we can now use Actions here to download a facebook-clang custom clang Release here and use it to build C Analyzers during CI, as well as Java Analyzers.
1. had to change `matrix.os: macos-latest` to `matrix.os: macOS-latest`. I guess that's what I typed for the fb clang build, and `curl`ing a Release asset is case-sensitive.
2. Add `jq` to installed packages on mac - we need it for parsing GitHub's API responses
3. Add the logic for fetching a release asset (we currently only look for the `"latest"` release) and downloading the properly-named clang based on OS. Then unpack it and update the `opam` files so we build with clang.
Note: I would have used this Action: https://github.com/dsaltares/fetch-gh-release-asset/ for fetching a Release asset, but unfortunately it seems to be in a fairly new state and it's a Docker Action, which means it doesn't support macOS. The logic in the fetch clang step is roughly based off of this action's logic.
Pull Request resolved: https://github.com/facebook/infer/pull/1286
Reviewed By: da319
Differential Revision: D22475973
Pulled By: jvillard
fbshipit-source-id: cb95b51b9
Summary:
Closes https://github.com/facebook/infer/issues/1270
Attempt to switch from Travis to Github Actions.
Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for how to set up your development environment and run tests.
Pull Request resolved: https://github.com/facebook/infer/pull/1271
Reviewed By: mityal
Differential Revision: D21881443
Pulled By: jvillard
fbshipit-source-id: f711bbf27