Skip to content

Commit

Permalink
Merge pull request #28 from serokell/rvem/#27-more-descriptive-releases
Browse files Browse the repository at this point in the history
[#27] More descriptive releases
  • Loading branch information
rvem authored Jan 29, 2020
2 parents 4d18e69 + 2d5b6f3 commit 76b1e04
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 4 deletions.
30 changes: 30 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,37 @@ Recomended way to get these binaries is to download them from assets from github
Go to the [latest release](https://github.com/serokell/tezos-packaging/releases/latest)
and download desired assets.

We provide both individual and archived binaries for mainnet and babylonnet versions
in order to be able to have static links for these binaries, also make it convenient
to download single binary or obtain all binaries in one click.

Individual binaries (as well as Ubuntu/Fedora packages) have `mainnet/babylonnet` suffix
so that users can easily distinguish different branch versions. Some of the binaries names
also contain protocol name in consistence with binaries that can be produced from source
code using suggested [build instructions](https://tezos.gitlab.io/introduction/howtoget.html#build-from-sources).


In addition to the binaries we provide all `.deb` and `.rpm` packages in `.tar.gz` archives
for those who want to install them using local `.deb` or `.rpm` file.
However, recommended way is to use remote Ubuntu or Fedora package repository,
see [PPA](#ppa) and [Copr](#copr) for more information about remote package repositories.

Contents of release:
* `tezos-*-mainnet` static binaries based on mainnet branch.
* `tezos-*-babylonnet` static binaries based babylonnet branch.
* `packages-deb.tar.gz` `.deb` packages for both mainnet and babylonnet versions,
it is recommended to use `apt` to install packages directly from remote repository.
* `packages-rpm.tar.gz` `.rpm` packages for both mainnet and babylonnet versions,
it is recommended to use `dnf` to install packages directly from remote repository.
* `binaries-babylonnet-<revision>.tar.gz` archive with all babylonnet
based binaries made from particular branch revision.
* `binaries-babylonnet-<revision>.tar.gz` archive with all mainnet based
binaries made from particular branch revision.
* License file from [tezos repository](https://gitlab.com/tezos/tezos/).

## Ubuntu (Debian based distros) usage

<a name="ppa"></a>
### Use PPA with `tezos-*` binaries

If you are using Ubuntu you can use PPA in order to install `tezos-*` executables.
Expand All @@ -41,6 +70,7 @@ sudo apt install <path to deb file>

## Fedora (Red Hat) usage

<a name="copr"></a>
### Use copr package with `tezos-*` binaries

If you are using Fedora you can use Copr in order to install `tezos-*`
Expand Down
24 changes: 21 additions & 3 deletions default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ let
};
mainnet-binaries = packDirectory "binaries-mainnet-${mainnet.rev}"
"${tezos-static-mainnet}/bin";
babylonnet-binaries =
packDirectory "binaries-babylonnet-${babylonnet.rev}"
babylonnet-binaries = packDirectory "binaries-babylonnet-${babylonnet.rev}"
"${tezos-static-babylonnet}/bin";
licenseFile = "${tezos-static-mainnet}/LICENSE";

Expand Down Expand Up @@ -137,6 +136,25 @@ let
deb-packages = moveDerivations "deb-packages" (map buildDeb packageDescs);
rpm-packages = moveDerivations "rpm-packages" (map buildRpm packageDescs);

releaseFile = writeTextFile {
name = "release-notes.md";
text = ''
Automatic release on ${builtins.substring 0 8 timestamp}
This release contains assets based on [${babylonnet.rev} revision](https://gitlab.com/tezos/tezos/tree/${babylonnet.rev}) of babylonnet branch and
[${mainnet.rev} revision](https://gitlab.com/tezos/tezos/tree/${mainnet.rev}) of mainnet branch from [tezos repository](https://gitlab.com/tezos/tezos/).
<!--
When making a new release, replace `auto-release` with actual release tag:
-->
For more information about release assets see [README section](https://github.com/serokell/tezos-packaging/blob/auto-release/README.md#obtain-binaries-or-packages-from-github-release).
'';
};
releaseNotes = runCommand "release-notes" {} ''
mkdir -p $out
cp ${releaseFile} $out/
'';

in rec {
inherit deb-packages rpm-packages mainnet-binaries babylonnet-binaries tezos-license;
inherit deb-packages rpm-packages mainnet-binaries babylonnet-binaries
tezos-license releaseNotes;
}
2 changes: 1 addition & 1 deletion scripts/autorelease.sh
Original file line number Diff line number Diff line change
Expand Up @@ -46,4 +46,4 @@ for file in $assets_dir/*; do
done

# Create release
hub release create $assets -m "Automatic build on $(date -I)" --prerelease auto-release
hub release create $assets -F $TEMPDIR/$project/*-release-notes.md --prerelease auto-release

0 comments on commit 76b1e04

Please sign in to comment.