Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
frama-c
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
frama-c
Commits
f13ae712
Commit
f13ae712
authored
4 years ago
by
Andre Maroneze
Browse files
Options
Downloads
Patches
Plain Diff
[Doc/Release] update release manual
parent
9066b663
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
doc/release/build.tex
+14
-22
14 additions, 22 deletions
doc/release/build.tex
doc/release/intro.tex
+1
-1
1 addition, 1 deletion
doc/release/intro.tex
doc/release/website.tex
+14
-18
14 additions, 18 deletions
doc/release/website.tex
with
29 additions
and
41 deletions
doc/release/build.tex
+
14
−
22
View file @
f13ae712
...
...
@@ -31,8 +31,9 @@ The procedure for creating the source distribution.
\begin{itemize}
\item
In particular, check and update a full known good configuration for
opam packages, including alt-ergo, why3, coq, etc.
Use
\verb
+
ptests.opt -config qualif src/plugins/wp/tests
+
to help check if
the configuration is ok.
Use
\verb
+
bin/check-reference-configuration.sh
+
to help check if the
configuration is ok. You can also try running
\verb
+
ptests.opt -config qualif src/plugins/wp/tests
+
.
\end{itemize}
\item
Check the contents of
\texttt
{
README.md
}
\todo
{
Should always be up to date
}
\item
Check the contents of
\texttt
{
Changelog
}
...
...
@@ -236,15 +237,13 @@ website git.
\texttt
{
build-src-distrib.sh
}
for this purpose (
\texttt
{
bash version
4
}
required) after cloning the following repositories
\begin{itemize}
\item
\texttt
{
Frama-C-snapshot
}
(
\texttt
{
git@git
hub.com:Frama-C/Frama-C-snapshot
}
),
\item
\texttt
{
F
rama-
C-snapshot
.wiki
}
(
\texttt
{
git@git
hub.com:Frama-C/Frama-C-snapshot
.wiki
}
), and
\item
\texttt
{
pub-frama-c
}
(
\texttt
{
git@git
.frama-c.com:pub/frama-c
}
),
\item
\texttt
{
f
rama-
c
.wiki
}
(
\texttt
{
git@git
.frama-c.com:pub/frama-c
.wiki
}
), and
\item
\texttt
{
website
}
(
\texttt
{
git@git.frama-c.com:frama-c/website
}
)
\end{itemize}
in the root directory of Frama-C. The last one is only needed when creating a
final release. Release candidates are only put on github and require only
\texttt
{
Frama-C-snapshot
}
and its associated wiki. Branch on
\texttt
{
Frama-C-snapshot
}
should be
\texttt
{
latest
}
for every release
(for final releases,
\texttt
{
latest
}
is merged into
\texttt
{
master
}
at the end).
final release. Release candidates are pushed as a branch
\texttt
{
stable/<codename>
}
and added to the
\texttt
{
pub/frama-c
}
wiki.
For
\texttt
{
website
}
, a new branch should be created over
\texttt
{
online
}
.
Finally, ensure that locale
\verb
+
en_US.UTF-8
+
is available on your system,
...
...
@@ -265,22 +264,12 @@ Please check that the distribution (sources and API) is OK:
\item
run
\texttt
{
<path-to-frama-c-git-clone>/doc/release/checktar.sh
}
(CWD must be where the tar was extracted). Fix issues and/or update
the script if needed.
\item
On a pristine clone of the Github Frama-C-snapshot repository
(e.g. the one created a few steps before),
compare the untared directory and the Github clone using e.g.
\texttt
{
meld
}
,
to see if there are suspicious newly-added files or directories (indicating
e.g. that the .tar.gz was created on a non-clean environment).
Note that comparing file contents is irrelevant at this stage, since
there are likely too many differences between this and the last release
(unless the previous one was a beta, in which case differences should be
small).
However, check for post-release commits (namely to
\texttt
{
opam/opam
}
) and
see if there are changes that were forgotten to be ported back to Frama-C's git.
\end{enumerate}
\end{enumerate}
\item
check for possible path/environment leaks in the
\texttt
{
tar.gz
}
:
grep for the path where your Frama-C git directory is, e.g.
\texttt
{
/home/user/git/frama-c
}
. It should appear nowhere in the archive.
\item
check that
\texttt
{
./configure
\&\&
make
\&\&
sudo make install
}
works fine;
\item
check that
\texttt
{
./configure
\&\&
make -j
\&\&
sudo make install
}
works fine
(or check e.g.
\texttt
{
./configure --prefix=
\$
PWD/build
\&\&
make -j
\&\&
make install
}
);
\item
test the installed binaries (especially the GUI). (On Linux, OCI tests
everything but the GUI);
\item
redo the two steps above on Windows/WSL
\expertise
{
André/Allan
}
, macOS
...
...
@@ -290,7 +279,7 @@ Please check that the distribution (sources and API) is OK:
\item
\verb
+
./configure --prefix="$PWD/build"
+
\item
\verb
+
make
+
;
\item
\verb
+
make install
+
;
\item
\verb
+
rm -f ~/.why3.conf; why3 config
+
;
\item
\verb
+
rm -f ~/.why3.conf; why3 config
--full-config
+
;
\item
\verb
+
build/bin/frama-c tests/idct/*.c -eva -wp -wp-rte
+
\item
If you have a GUI, replace
\verb
+
frama-c
+
above with
\verb
+
frama-c-gui
+
and click around, see if things work (e.g. no segmentation faults).
...
...
@@ -299,6 +288,9 @@ Please check that the distribution (sources and API) is OK:
\texttt
{
index.html
}
in a browser, click on a few links, etc).
If there are minor bugs/typos, note them for later, but it's not
worth delaying the release to fix them.
\item
consider decompressing both the current and the previous release archives
in different directories, then using
\texttt
{
meld
}
to compare them. This
allows spotting if some files were unexpectedly added, for instance.
\end{enumerate}
...
...
This diff is collapsed.
Click to expand it.
doc/release/intro.tex
+
1
−
1
View file @
f13ae712
...
...
@@ -20,7 +20,7 @@ roles, and we must distinguish between:
%% \item[Binary Builders:] they are responsible for creating a binary distribution
%% of the release for a specific architecture \expertise{none currently}.
\item
[Web Site Maintainers:]
they are responsible for updating the web site,
during the release and for possible later updates
\expertise
{
Florent
}
.
during the release and for possible later updates
\expertise
{
Florent
? Thibaud ?
}
.
\item
[Release Manager:]
they are responsible for the organisation of the
release process
\end{description}
...
...
This diff is collapsed.
Click to expand it.
doc/release/website.tex
+
14
−
18
View file @
f13ae712
...
...
@@ -188,29 +188,24 @@ account.
about it, or ask directly on the merge request.
\end{itemize}
\section
{
Updating
Frama-C-snapshot
}
\section
{
Updating
pub/frama-c
}
You'll need a GitHub account with commit rights to Frama-C/Frama-C-snapshot.
The release script
\texttt
{
bin/build-src-distrib.sh
}
has prepared both the
repository and the associated wiki (see section~
\ref
{
sec:build-source-distr
}
).
You'll need to be member of the
\texttt
{
pub/frama-c
}
project to be able to
commit to it.
\begin{itemize}
\item
ensure that the sources in
\texttt
{
Frama-C-snapshot
}
compile;
the following command must work:
\\
\verb
+
./configure --prefix=/tmp/frama-c && make && make install
+
\item
commit in branch
\texttt
{
latest
}
\item
tag the commit with the version number (including suffix for beta
releases), then push
\item
for a final release, merge
\texttt
{
latest
}
into
\texttt
{
master
}
,
and push
\texttt
{
master
}
\item
in
\texttt
{
Frama-C-snapshot.wiki
}
, update the new
\texttt
{
Frama-C-VERSION.md
}
page with the list of main changes.
\item
Add your changes, commit and push
\item
add the
\texttt
{
pub/frama-c
}
remote to your Git clone;
\item
make sure the last commit is tagged (either a release candidate, or a
final release);
\item
push the stable/
\texttt
{
<codename>
}
branch to the
\texttt
{
pub
}
remote.
\end{itemize}
(
{
\em
Non-beta only
}
) After pushing the tag to Gitlab, go to the Releases page
and create a release for the tag.
\section
{
Updating the BTS
}
\expertise
{
Usually Julien performs this step.
}
\expertise
{
Usually Julien performs this step.
Soon to be obsoleted.
}
Each task marked as
\texttt
{
Resolved
}
and really resolved in this release (say
\texttt
{
VERSION
}
) must be marked as
\texttt
{
Fixed in Version VERSION
}
, then
...
...
@@ -234,8 +229,9 @@ Check if other Frama-C (and related) repositories need to be updated:
\begin{itemize}
\item
\texttt
{
acsl-language/acsl
}
(if last minute patches were applied)
\item
\texttt
{
Frama-C/open-source-case-studies
}
\item
\texttt
{
Frama-C/sate-vi
}
\item
\texttt
{
pub/open-source-case-studies
}
\item
\texttt
{
pub/sate-6
}
\item
other
\texttt
{
pub
}
repositories related to Frama-C...
\end{itemize}
\section
{
Preparing the Next Release
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment