Merge pull request #7870 from diffblue/20230831-cbmc-5.91.0 #111
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: | |
push: | |
tags: | |
- 'cbmc-*' | |
name: Create Release | |
jobs: | |
get-version-information: | |
name: Get Version Information | |
runs-on: ubuntu-20.04 | |
outputs: | |
version: ${{ steps.split-version.outputs._1 }} | |
steps: | |
- uses: jungwinter/split@v1 | |
id: split | |
with: | |
msg: ${{ github.ref }} | |
seperator: '/' | |
- uses: jungwinter/split@v1 | |
id: split-version | |
with: | |
msg: ${{ steps.split.outputs._2 }} | |
seperator: '-' | |
perform-release: | |
name: Perform Release | |
runs-on: ubuntu-20.04 | |
needs: get-version-information | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
- name: Create release | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.DB_CI_CPROVER_ACCESS_TOKEN }} | |
CBMC_VERSION: ${{ needs.get-version-information.outputs.version }} | |
with: | |
tag_name: cbmc-${{ env.CBMC_VERSION }} | |
release_name: cbmc-${{ env.CBMC_VERSION }} | |
body: | | |
This is CBMC version ${{ env.CBMC_VERSION }}. | |
## MacOS | |
On MacOS, install CBMC using [Homebrew](https://brew.sh/) with | |
```sh | |
brew install cbmc | |
``` | |
or upgrade (if it's already been installed) with: | |
```sh | |
brew upgrade cbmc | |
``` | |
## Ubuntu | |
On Ubuntu, install CBMC by downloading the *.deb package below for your version of Ubuntu and install with | |
```sh | |
# Ubuntu 20: | |
$ dpkg -i ubuntu-20.04-cbmc-${{ env.CBMC_VERSION }}-Linux.deb | |
``` | |
## Windows | |
On Windows, install CBMC by downloading the `cbmc-${{ env.CBMC_VERSION }}-win64.msi` installer below, double-clicking on the installer to run it, and adding the folder `C:\Program Files\cbmc\bin` in your `PATH` environment variable. | |
For installation from the windows command prompt, run: | |
```sh | |
msiexec /i cbmc-${{ env.CBMC_VERSION }}-win64.msi | |
PATH="C:\Program Files\cbmc\bin";%PATH% | |
``` | |
Note that we depend on the Visual C++ redistributables. You likely already have these, if not please download and run vcredist.x64.exe from Microsoft to install them prior to running cbmc, or make sure you have Visual Studio 2019 installed. | |
You can download either [Visual Studio 2019 Community Edition](https://visualstudio.microsoft.com/vs/community/) or the [Visual C++ Redistributables](https://support.microsoft.com/en-gb/help/2977003/the-latest-supported-visual-c-downloads) from Microsoft for free. | |
## Docker | |
We are also releasing new versions as images in [Dockerhub](https://hub.docker.com/r/diffblue/cbmc). | |
To run the CProver suite of tools under a Docker container, make sure that | |
[Docker](https://www.docker.com/) is already installed in your system and | |
set up correctly, and then issue: | |
```sh | |
$ docker run -it diffblue/cbmc:${{ env.CBMC_VERSION }} | |
# | |
``` | |
That will initialise an execution of the container based on the image pushed | |
as part of this release. The CProver tools are present in the `$PATH` of the | |
container. | |
draft: false | |
prerelease: false | |
- name: Slack notification of successful release | |
uses: rtCamp/action-slack-notify@v2 | |
env: | |
SLACK_CHANNEL: team_open_source | |
SLACK_COLOR: ${{ job.status }} | |
SLACK_USERNAME: Github Actions CI bot | |
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }} | |
SLACK_MESSAGE: "${{ job.status == 'success' && 'Successful creation of new CBMC release page' || 'Failed to create new CBMC release page' }}" |