Skip to content

Commit e0fa9e3

Browse files
authored
Merge pull request #7987 from NlightNFotis/v6_release_process
CBMC version 6 release process changes
2 parents b836b4f + b580d85 commit e0fa9e3

File tree

6 files changed

+82
-64
lines changed

6 files changed

+82
-64
lines changed

.github/workflows/regular-release.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ jobs:
3737
with:
3838
tag_name: cbmc-${{ env.CBMC_VERSION }}
3939
release_name: cbmc-${{ env.CBMC_VERSION }}
40+
prerelease: true
4041
body: |
4142
This is CBMC version ${{ env.CBMC_VERSION }}.
4243

.github/workflows/release-packages.yaml

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -149,35 +149,35 @@ jobs:
149149
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
150150
SLACK_MESSAGE: "${{ job.status == 'success' && 'Ubuntu 20.04 package built and uploaded successfully' || 'Ubuntu 20.04 package build failed' }}"
151151

152-
homebrew-pr:
153-
runs-on: macos-11
154-
steps:
155-
- name: Get release tag name
156-
# The GITHUB_REF we get has refs/tags/ in front of the tag name so we
157-
# strip that here
158-
run: echo "RELEASE_TAG=${GITHUB_REF/refs\/tags\/}" >> $GITHUB_ENV
159-
- name: Configure git user name and email
160-
uses: Homebrew/actions/git-user-config@07da0794847043a11761f14c97cc682577c74d5d
161-
with:
162-
username: db-ci-cprover
163-
- name: Create homebrew PR
164-
run: |
165-
brew update-reset
166-
brew bump-formula-pr --tag "$RELEASE_TAG" --revision "$GITHUB_SHA" cbmc
167-
env:
168-
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.DB_CI_CPROVER_ACCESS_TOKEN }}
169-
- name: Checkout CBMC project source code to obtain access to scripts
170-
if: always()
171-
uses: actions/checkout@v3
172-
- name: Slack notification of CI status
173-
if: success() || failure()
174-
env:
175-
SLACK_CHANNEL: team_open_source
176-
SLACK_COLOR: ${{ job.status }}
177-
SLACK_USERNAME: Github Actions CI bot
178-
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
179-
SLACK_MESSAGE: "${{ job.status == 'success' && 'Homebrew PR submitted successfully' || 'Homebrew PR failed' }}"
180-
run: go run scripts/slack_notification_action.go
152+
# homebrew-pr:
153+
# runs-on: macos-11
154+
# steps:
155+
# - name: Get release tag name
156+
# # The GITHUB_REF we get has refs/tags/ in front of the tag name so we
157+
# # strip that here
158+
# run: echo "RELEASE_TAG=${GITHUB_REF/refs\/tags\/}" >> $GITHUB_ENV
159+
# - name: Configure git user name and email
160+
# uses: Homebrew/actions/git-user-config@07da0794847043a11761f14c97cc682577c74d5d
161+
# with:
162+
# username: db-ci-cprover
163+
# - name: Create homebrew PR
164+
# run: |
165+
# brew update-reset
166+
# brew bump-formula-pr --tag "$RELEASE_TAG" --revision "$GITHUB_SHA" cbmc
167+
# env:
168+
# HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.DB_CI_CPROVER_ACCESS_TOKEN }}
169+
# - name: Checkout CBMC project source code to obtain access to scripts
170+
# if: always()
171+
# uses: actions/checkout@v3
172+
# - name: Slack notification of CI status
173+
# if: success() || failure()
174+
# env:
175+
# SLACK_CHANNEL: team_open_source
176+
# SLACK_COLOR: ${{ job.status }}
177+
# SLACK_USERNAME: Github Actions CI bot
178+
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
179+
# SLACK_MESSAGE: "${{ job.status == 'success' && 'Homebrew PR submitted successfully' || 'Homebrew PR failed' }}"
180+
# run: go run scripts/slack_notification_action.go
181181

182182
windows-msi-package:
183183
runs-on: windows-2019
@@ -273,34 +273,34 @@ jobs:
273273
SLACK_MESSAGE: "${{ job.status == 'success' && 'Windows package built and uploaded successfully' || 'Windows package build failed' }}"
274274
run: go run scripts/slack_notification_action.go
275275

276-
push-docker-image-dockerhub:
277-
runs-on: ubuntu-20.04
278-
steps:
279-
- name: Checkout CBMC source
280-
uses: actions/checkout@v3
281-
with:
282-
submodules: recursive
283-
- name: Set Image Tag
284-
run: |
285-
# Isolate the version number from a reference to a tag, for example,
286-
# '5.20.3' from a string like 'refs/tags/cbmc-5.20.3-exp'
287-
VERSION=$(echo ${{ github.ref }} | cut -d "/" -f 3 | cut -d "-" -f 2)
288-
echo "IMAGE_TAG=diffblue/cbmc:$VERSION" >> $GITHUB_ENV
289-
- name: Build docker image
290-
run: docker build -t "$IMAGE_TAG" .
291-
- name: Push docker image to DockerHub
292-
run: |
293-
echo ${{ secrets.DOCKERHUB_ACCESS_DB_CI_CPROVER }} | docker login --username=dbcicprover --password-stdin
294-
docker image push "$IMAGE_TAG"
295-
# For security reasons remove stored login credentials from
296-
# configuration file they are stored at by docker login.
297-
docker logout
298-
- name: Slack notification of CI status
299-
uses: rtCamp/action-slack-notify@v2
300-
if: success() || failure()
301-
env:
302-
SLACK_CHANNEL: team_open_source
303-
SLACK_COLOR: ${{ job.status }}
304-
SLACK_USERNAME: Github Actions CI bot
305-
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
306-
SLACK_MESSAGE: "${{ job.status == 'success' && 'Docker Image built and submitted to DockerHub successfully' || 'Docker Image build failed' }}"
276+
# push-docker-image-dockerhub:
277+
# runs-on: ubuntu-20.04
278+
# steps:
279+
# - name: Checkout CBMC source
280+
# uses: actions/checkout@v3
281+
# with:
282+
# submodules: recursive
283+
# - name: Set Image Tag
284+
# run: |
285+
# # Isolate the version number from a reference to a tag, for example,
286+
# # '5.20.3' from a string like 'refs/tags/cbmc-5.20.3-exp'
287+
# VERSION=$(echo ${{ github.ref }} | cut -d "/" -f 3 | cut -d "-" -f 2)
288+
# echo "IMAGE_TAG=diffblue/cbmc:$VERSION" >> $GITHUB_ENV
289+
# - name: Build docker image
290+
# run: docker build -t "$IMAGE_TAG" .
291+
# - name: Push docker image to DockerHub
292+
# run: |
293+
# echo ${{ secrets.DOCKERHUB_ACCESS_DB_CI_CPROVER }} | docker login --username=dbcicprover --password-stdin
294+
# docker image push "$IMAGE_TAG"
295+
# # For security reasons remove stored login credentials from
296+
# # configuration file they are stored at by docker login.
297+
# docker logout
298+
# - name: Slack notification of CI status
299+
# uses: rtCamp/action-slack-notify@v2
300+
# if: success() || failure()
301+
# env:
302+
# SLACK_CHANNEL: team_open_source
303+
# SLACK_COLOR: ${{ job.status }}
304+
# SLACK_USERNAME: Github Actions CI bot
305+
# SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
306+
# SLACK_MESSAGE: "${{ job.status == 'success' && 'Docker Image built and submitted to DockerHub successfully' || 'Docker Image build failed' }}"

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ endif()
4040
# filenames)
4141
file(
4242
STRINGS src/config.inc CBMC_VERSION
43-
REGEX "CBMC_VERSION = (.*)")
44-
string(REGEX REPLACE "CBMC_VERSION = (.*)" "\\1" CBMC_VERSION ${CBMC_VERSION})
43+
REGEX "CBMC_VERSION = ([0-9.]+).*")
44+
string(REGEX REPLACE "CBMC_VERSION = ([0-9.]+).*" "\\1" CBMC_VERSION ${CBMC_VERSION})
4545
message(STATUS "Building CBMC version ${CBMC_VERSION}")
4646

4747
project(CBMC VERSION ${CBMC_VERSION})

src/config.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ endif
7676
OSX_IDENTITY="Developer ID Application: Daniel Kroening"
7777

7878
# Detailed version information
79-
CBMC_VERSION = 5.95.1
79+
CBMC_VERSION = 6.0.0-preview
8080

8181
# Use the CUDD library for BDDs, can be installed using `make -C src cudd-download`
8282
# CUDD = ../../cudd-3.0.0

src/libcprover-rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "libcprover_rust"
3-
version = "5.95.1"
3+
version = "6.0.0-preview"
44
edition = "2021"
55
description = "Rust API for CBMC and assorted CProver tools"
66
repository = "https://github.com/diffblue/cbmc"

v6_undo_stack.markdown

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Temporary changes for v6
2+
3+
This is a temporary file, containing changes done to release process for v6,
4+
that need to be reverted back.
5+
6+
It's a file in the repository to allow for easier tracking of the status
7+
of things among the broader community, and to allow everyone to add/delete
8+
things they believe should be in here.
9+
10+
The file is scheduled for deletion by the actual release of `v6` and subsequent
11+
rollback of the changes.
12+
13+
## Stack
14+
15+
* Revert changes to homebrew PR push (`.github/workflows/release-packages.yaml`)
16+
* Revert changes to docker image push (`.github/workflows/releas-packages.yaml`)
17+
* Remove marking of release as `prerelease` (`.github/workflows/regular-release.yaml`)

0 commit comments

Comments
 (0)