59 lines
1.8 KiB
YAML
59 lines
1.8 KiB
YAML
|
---
|
||
|
version: '3'
|
||
|
|
||
|
tasks:
|
||
|
export:
|
||
|
deps:
|
||
|
- :install:software:snapcraft
|
||
|
summary: |
|
||
|
# Export Snapcraft Login Credentials
|
||
|
|
||
|
This task will export an unencrypted file called `snap.login` which you can
|
||
|
use to extract the macaroon/unbound_discharge/email. Once extracted, save
|
||
|
them as environment variables for use with the other tasks.
|
||
|
log:
|
||
|
error: Error encountered while exporting `snap.login`
|
||
|
start: Exporting login credentials to unencrpyted file named `snap.login`
|
||
|
success: Successfully exported `snap.login` (unencrypted)
|
||
|
cmds:
|
||
|
- snapcraft export-login snap.login
|
||
|
|
||
|
login:
|
||
|
deps:
|
||
|
- :install:software:snapcraft
|
||
|
vars:
|
||
|
SNAP_LOGIN_TEMPLATE: |
|
||
|
[login.ubuntu.com]
|
||
|
macaroon = {{env "SNAPCRAFT_MACAROON"}}
|
||
|
unbound_discharge = {{env "SNAPCRAFT_UNBOUND_DISCHARGE"}}
|
||
|
email = {{env "SNAPCRAFT_EMAIL"}}
|
||
|
log:
|
||
|
error: Error encountered while logging into Snapcraft
|
||
|
start: Logging into Snapcraft
|
||
|
success: Successfully logged into Snapcraft
|
||
|
cmds:
|
||
|
- |
|
||
|
echo '{{.SNAP_LOGIN_TEMPLATE}}' > snap.login
|
||
|
snapcraft login --with snap.login || rm -f snap.login
|
||
|
rm -f snap.login
|
||
|
preconditions:
|
||
|
- '[ -n "$SNAPCRAFT_MACAROON" ]'
|
||
|
- '[ -n "$SNAPCRAFT_UNBOUND_DISCHARGE" ]'
|
||
|
- '[ -n "$SNAPCRAFT_EMAIL" ]'
|
||
|
|
||
|
register:
|
||
|
deps:
|
||
|
- :install:software:snapcraft
|
||
|
vars:
|
||
|
SNAP_PACKAGE:
|
||
|
sh: jq -r '.blueprint.snapPackage' package.json
|
||
|
log:
|
||
|
error: Error ensuring `{{.SNAP_PACKAGE}}` is registered
|
||
|
start: Ensuring `{{.SNAP_PACKAGE}}` is registered
|
||
|
success: Ensured `{{.SNAP_PACKAGE}}` is registered
|
||
|
cmds:
|
||
|
- task: login
|
||
|
- snapcraft register --yes {{.SNAP_PACKAGE}}
|
||
|
status:
|
||
|
- snapcraft list | grep {{.SNAP_PACKAGE}} || [[ "{{OS}}" != "linux" ]]
|