[go: up one dir, main page]

packaging: add apt repository for pre-v19.1 Debian packages

What

This MR stores the pre-v19.1 debian packages in a apt repository .

We create an apt repository for testing only at the moment. Later we will introduce the repository in the release pipelines.

Why

How

cherry pick of !12637 (closed) for easy reviwing

Manually testing the MR

!13420 (comment 1920129922)

The apt repository is uploaded to a Google Cloud storage bucket (designated by the CI variable GCP_LINUX_PACKAGES_BUCKET). The value of this variable depends on the context in which the release tag pipeline runs.:

  • tezos-linux-repo for unprotected refs (that is, test release tag pipelines)
  • tezos-linux-protected-repo for protected refs (that is, real release tag pipelines)

Furthermore, a separate set of buckets are used when if the pipeline runs on a development runner:

  • tezos-linux-repo-dev for unprotected refs (that is, test release tag pipelines)
  • tezos-linux-protected-repo-dev for protected refs (that is, real release tag pipelines)

The contents of a bucket can be inspected using the gcloud sdk. Once installed, and once you've run gcloud auth login, you can inspect the contents of a bucket through:

gcloud storage ls -R gs://BUCKET/

You can also get some kind of XML describing the contents at https://BUCKET.storage.googleapis.com/.

To install packages from the resulting repository, you need to follow the procedure outlined in install-bin-deb.sh from !12637 (closed) (closed). In short:

curl "https://BUCKET.storage.googleapis.com/DISTRIBUTION/octez.asc" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/octez.gpg
echo "deb https://BUCKET.storage.googleapis.com/DISTRIBUTION RELEASE main" | sudo tee /etc/apt/sources.list.d/octez.list
sudo apt-get update

To the packages from a test release tag from this specific MR, on Ubuntu Jammy, use:

curl "https://tezos-linux-repo.storage.googleapis.com/ubuntu/octez.asc" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/octez.gpg
echo "deb https://tezos-linux-repo.storage.googleapis.com/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/octez.list
sudo apt-get update

Note that the BUCKET used is tezos-linux-repo since the packages come from a test release tag pipeline, and since we're not using dev runners.

If that worked, you should be able to list the packages found in the newly added repo: aptitude search "?origin (Octez)" (I think "Octez" is the "name" of the repository, which you can find if you do apt-cache policy).

You can read their description etc using e.g. apt show octez-client.

Finally, you can test installing all of them using sudo apt install octez-\*.

Checklist

  • Document the interface of any function added or modified (see the coding guidelines)
  • Document any change to the user interface, including configuration parameters (see node configuration)
  • Provide automatic testing (see the testing guide).
  • For new features and bug fixes, add an item in the appropriate changelog (docs/protocols/alpha.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by pietro

Merge request reports

Loading