Travis-ci.org - Breakage?


#1

I’m trying to build a snap with travis-ci.org

This is my repo with the snap (just a small example python3 script): https://github.com/erik78se/snap-pyapp

I’ve installed travis via snap, along with most other things needed for a snap build env.

erik@juju-dev:~/allcode/snap-pyapp$ snap list
Name Version Rev Tracking Publisher Notes
charm 2.4.4 254 stable johnsca classic
core 16-2.36.1 5897 stable canonical✓ core
core18 18 442 stable canonical✓ base
docker 18.06.1-ce 321 stable docker-inc -
juju 2.4.7 6012 stable canonical✓ classic
lxd 3.7 9664 stable canonical✓ -
multipass 2018.10.1 461 latest/beta canonical✓ classic
snapcraft 3.0.1 2374 stable canonical✓ classic
travis 1.8.9 9 stable travis-ci✓ -

I’ve managed to login successfully to snapcraft.io and github

travis login
We need your GitHub login to identify you.
This information will not be sent to Travis CI, only to api.github.com.
The password will not be displayed.

Try running with --github-token or --auto if you don’t want to enter your password anyway.

Username: erik.lonroth@gmail.com
Password for erik.lonroth@gmail.com: ***********
Successfully logged in as erik78se!

However, when I do the enable procedure:

snapcraft enable-ci travis

There is a failure (I’m providing the correct Ubuntu One SSO credentials)

Enabling Travis testbeds to push and release ‘pyapp’ snaps to edge channel in series ‘16’
Acquiring specific authorization information …
Enter your Ubuntu One e-mail address and password.
If you do not have an Ubuntu One account, you can create one at https://snapcraft.io/account
Email: erik.lonroth@gmail.com
Password:

We strongly recommend enabling multi-factor authentication: https://help.ubuntu.com/community/SSO/FAQs/2FA
Encrypting authorization for Travis and adjusting project to automatically decrypt and use it during “after_success”.
Sorry, an error occurred in Snapcraft.
We would appreciate it if you anonymously reported this issue.
No other data than the traceback (’/tmp/tmps8bx92f9/trace.txt’) and the version of snapcraft in use will be sent.
Would you like to send this error data? (Yes/No/Always) [no]: yes
Thank you, sent.

And the content of the traceback file is:

erik@juju-dev:~/allcode/snap-pyapp$ cat /tmp/tmps8bx92f9/trace.txt
Traceback (most recent call last):
File “/snap/snapcraft/2374/lib/python3.5/site-packages/snapcraft/integrations/travis.py”, line 124, in _acquire_and_encrypt_credentials
subprocess.check_output(cmd, stderr=subprocess.PIPE)
File “/snap/snapcraft/2374/usr/lib/python3.5/subprocess.py”, line 626, in check_output
**kwargs).stdout
File “/snap/snapcraft/2374/usr/lib/python3.5/subprocess.py”, line 708, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command ‘[‘travis’, ‘encrypt-file’, ‘–force’, ‘–add’, ‘after_success’, ‘–decrypt-to’, ‘.snapcraft/snapcraft.cfg’, ‘/tmp/tmpf0ko5brl’, ‘.snapcraft/travis_snapcraft.cfg’]’ returned non-zero exit status 1

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/snap/snapcraft/2374/bin/snapcraft”, line 11, in
load_entry_point(‘snapcraft==3.0.1’, ‘console_scripts’, ‘snapcraft’)()
File “/snap/snapcraft/2374/lib/python3.5/site-packages/snapcraft/cli/main.py”, line 81, in run
run_snapcraft(prog_name=“snapcraft”)
File “/snap/snapcraft/2374/lib/python3.5/site-packages/click/core.py”, line 722, in call
return self.main(*args, **kwargs)
File “/snap/snapcraft/2374/lib/python3.5/site-packages/click/core.py”, line 697, in main
rv = self.invoke(ctx)
File “/snap/snapcraft/2374/lib/python3.5/site-packages/click/core.py”, line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File “/snap/snapcraft/2374/lib/python3.5/site-packages/click/core.py”, line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File “/snap/snapcraft/2374/lib/python3.5/site-packages/click/core.py”, line 535, in invoke
return callback(*args, **kwargs)
File “/snap/snapcraft/2374/lib/python3.5/site-packages/snapcraft/cli/ci.py”, line 49, in enableci
module.enable(project)
File “/snap/snapcraft/2374/usr/lib/python3.5/contextlib.py”, line 30, in inner
return func(*args, **kwds)
File “/snap/snapcraft/2374/lib/python3.5/site-packages/snapcraft/integrations/travis.py”, line 214, in enable
_acquire_and_encrypt_credentials(packages, channels)
File “/snap/snapcraft/2374/lib/python3.5/site-packages/snapcraft/integrations/travis.py”, line 128, in _acquire_and_encrypt_credentials
err.returncode, err.stderr.decode()
snapcraft.integrations.travis.TravisRuntimeError: travis encrypt-file failed: 1
detected repository as erik78se/snap-pyapp
No such file or directory @ rb_sysopen - /tmp/tmpf0ko5brl

My Ubuntu build host:

erik@juju-dev:~/allcode/snap-pyapp$ cat /etc/issue
Ubuntu 18.04.1 LTS \n \l


#2

@lonroth I’m sorry you are experiencing this breakage. Possibly someone who uses the travis functionality more regularly then I might have some better insight. Bump.


#3

People who last contributed to it and can know more @sergiusens @cprov

The integration may need to be updated for the latest changes in Travis - https://docs.travis-ci.com/user/deployment/snaps/


#4

There are better ways to do this on Travis these days. You can either use the deployer to which @abitrolly linked, or combine those directions with the Circle CI tutorial to handle the credentials and push on your own.