58 lines
1.8 KiB
YAML
58 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" ]]
|