Project

General

Profile

Task #1973

Build tarball and upload to website

Added by Junxiao Shi over 5 years ago. Updated 5 months 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

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

Actions

History

#1

Updated by Junxiao Shi over 5 years ago

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

Updated by Alex Afanasyev over 5 years ago

This functionality already exists in NFD.

#3

Updated by Junxiao Shi over 5 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?

#4

Updated by Alex Afanasyev over 5 years ago

./waf dist creates a package with proper version.

#5

Updated by Junxiao Shi over 5 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.
#6

Updated by Alex Afanasyev over 5 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...

#7

Updated by Junxiao Shi over 5 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.

#8

Updated by Junxiao Shi over 5 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.

#9

Updated by Junxiao Shi over 5 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.

#10

Updated by Alex Afanasyev over 5 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.

#11

Updated by Junxiao Shi over 5 years ago

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

Updated by Davide Pesavento over 4 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
#13

Updated by Davide Pesavento over 4 years ago

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

#14

Updated by Davide Pesavento 5 months ago

  • Target version deleted (Unsupported)

Also available in: Atom PDF