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
master
Jules Villard4 years agocommitted byFacebook GitHub Bot
1. From the commit tagged on GitHub, create and push a new version of the website with "make new-website-version" (see website/README.md for how to test).
2. Consider deleting the oldest documentation version (see Docusaurus 2 documentation for details).
3. Fill in the changelog below to go on GitHub.
4. Download the release tarballs and test that the binaries works.
5. Fill in the shasums by running the command at the end of the release text.
--- PUBLISH GITHUB RELEASE HERE ---
5. At some point, copy the GitHub changelog to Changelog.md in the repo.
6. Tweet.
--- DELETE EVERYTHING ABOVE THIS LINE ---
This is a binary release of Infer for Linux and MacOS. To use it follow these [instructions](http://fbinfer.com/docs/getting-started.html).
- new feature 1
- new feature 2
The sha256 checksums of the tarballs are:
```
$ shasum -a 256 infer-*-v<VERSION GOES HERE>.tar.xz
DOWNLOAD BOTH TARBALLS AND PUT RESULT OF THE ABOVE COMMAND HERE BEFORE PUBLISHING
```
build:
name:Build Infer
needs:create-release
strategy:
fail-fast:false
matrix:
@ -14,7 +57,6 @@ jobs:
- ubuntu-latest
ocaml-version:
- 4.11.1
runs-on:${{ matrix.os }}
steps:
@ -66,10 +108,13 @@ jobs:
- run:./build-infer.sh --yes all
- run:make install
- run:make install BUILD_MODE=opt
if:runner.os == 'macOS'
- run:sudo make install
- run:|
sudo make install BUILD_MODE=opt
# restore permissions after root build
sudo chown $USER:-R .
if:runner.os == 'Linux'
- name:Test infer
@ -125,3 +170,20 @@ jobs:
# first command should exit with status 2
infer --fail-on-issue -P -- clang -c FailingTest.c || if [[ $? -ne 2 ]]; then exit 1; fi