Project

General

Profile

Actions

Task #1973

open

Build tarball and upload to website

Added by Junxiao Shi over 9 years ago. Updated over 4 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Build
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
2.00 h

Description

Automate tarball creation as a build target.

./waf dist should generate a tarball that contains all source code including git submodules.

During tarball creation, the version number (obtained from git describe --always) should be saved to VERSION file.

An automated process should create a tarball as described above for each tagged release, and upload to named-data.net website.


Related issues 1 (0 open1 closed)

Related to NFD - Task #1730: Create and publish source release tarballsClosed

Actions
Actions #1

Updated by Junxiao Shi over 9 years ago

  • Related to Task #1730: Create and publish source release tarballs added
Actions #2

Updated by Alex Afanasyev over 9 years ago

This functionality already exists in NFD.

Actions #3

Updated by Junxiao Shi over 9 years ago

#1730 note-4 says:

I want to have some kind of automation for the process of tarball creation before closing this task.

What does that refer to?

Actions #4

Updated by Alex Afanasyev over 9 years ago

./waf dist creates a package with proper version.

Actions #5

Updated by Junxiao Shi over 9 years ago

I confirm that ./waf dist is able to build a tarball with correct VERSION file.

There are two problems:

  • nfd-*.tar.bz2 file is placed at the root directory of git repository, and .gitignore does not exclude this file.
    The file should either be placed in build/, or be excluded in .gitignore.
  • If git submodule update --init is never executed, the tarball does not contain websocketpp/ directory.
    The script should either execute git submodule update --init command, or report an error if websocketpp/ is missing.
Actions #6

Updated by Alex Afanasyev over 9 years ago

What you describing is not ./waf dist's job, but job of the automation routine that we need to have to publish tarballs...

Actions #7

Updated by Junxiao Shi over 9 years ago

For the first problem in note-5, an easy solution is adding nfd-*.tar.bz2 to .gitignore.

For the second problem in note-5, ./waf dist could require git submodule update --init to be invoked in an external script, but it should refuse to build the tarball if websocketpp/ is missing.

Actions #8

Updated by Junxiao Shi over 9 years ago

  • Subject changed from Build tarball to Build tarball and upload to website
  • Description updated (diff)

Updating with information gained from email exchanges with Alex.

Actions #9

Updated by Junxiao Shi over 9 years ago

This Feature can be implemented a cron job.

However, I doubt this is worth the effort.

NFD had five releases in five months.

Manually running two commands (./waf dist and scp) once a month is easier than creating the cron job and routinely maintain the box that hosts this job.

Actions #10

Updated by Alex Afanasyev over 9 years ago

I'm ok removing target version, but I would like to keep this task open, to remember that things need to be done manually for now.

Actions #11

Updated by Junxiao Shi over 9 years ago

  • Target version changed from v0.3 to Unsupported
Actions #12

Updated by Davide Pesavento almost 9 years ago

FTR, what I currently do to generate the source code tarballs is (assuming I already have a local up-to-date clone):

git checkout ${tag}
git submodule update --init
git clean -dfx
./waf dist
sha256sum ${tag/NFD/nfd}.tar.bz2 > ${tag/NFD/nfd}.tar.bz2.sha256
Actions #13

Updated by Davide Pesavento over 8 years ago

The steps in comment #12 assume Linux. On OS X, simply substitute 'sha256sum' with 'shasum -a 256'.

Actions #14

Updated by Davide Pesavento over 4 years ago

  • Target version deleted (Unsupported)
Actions

Also available in: Atom PDF