Keep a copy of abra-apps.json as ~/.abra/apps.json, update it as needed (i.e. when remote modified time is more recent than the local mtime)
Add abra recipe ls to list all recipes available in apps.json
Add abra recipe <recipe> versions to show all a recipe's versions
Add abra recipe <recipe> release, replacing bin/app-version.sh, to sync git tags and Docker deploy labels with image versions, using metadata from Skopeo -- this also handles bumping recipe versions according to the logic in coop-cloud/organising#51
Make require_yq into a generic vendor_binary function, and use it for both jq and yq
Change abra app <app> deploy command to accept an optional <version> argument, and make abra app <app> rollback work the same as abra app <app> deploy <last-version> (i.e. no longer using docker service rollback, which seems like it'll rarely be what people want)
Replace require_app_latest with require_app_version, which accepts a recipe name and a version (tag), and only pull from git if we're trying to use a tag that's not available locally.
Add checkout_main_or_master to make a generic version of the diabolical logic we're using to handle different primary branch names.
This PR also continues a gradual wafting towards lowercase names for local variables (keeping e.g. ABRA_DIR capitalised, but making e.g. $version lowercase).
Closes #130, #131 and #134
- Keep a copy of `abra-apps.json` as `~/.abra/apps.json`, update it as needed (i.e. when remote modified time is more recent than the local mtime)
- Add `abra recipe ls` to list all recipes available in `apps.json`
- Add `abra recipe <recipe> versions` to show all a recipe's versions
- Add `abra recipe <recipe> release`, replacing `bin/app-version.sh`, to sync git tags and Docker deploy labels with image versions, using metadata from Skopeo -- this also handles bumping recipe versions according to the logic in coop-cloud/organising#51
- Make `require_yq` into a generic `vendor_binary` function, and use it for both `jq` and `yq`
- Change `abra app <app> deploy` command to accept an optional `<version>` argument, and make `abra app <app> rollback` work the same as `abra app <app> deploy <last-version>` (i.e. no longer using `docker service rollback`, which seems like it'll rarely be what people want)
- Replace `require_app_latest` with `require_app_version`, which accepts a recipe name and a version (tag), and only pull from git if we're trying to use a tag that's not available locally.
- Add `checkout_main_or_master` to make a generic version of the diabolical logic we're using to handle different primary branch names.
This PR also continues a gradual wafting towards lowercase names for local variables (keeping e.g. `ABRA_DIR` capitalised, but making e.g. `$version` lowercase).
decentral1se
was assigned by 3wordchant2021-04-05 10:48:08 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #130, #131 and #134
abra-apps.jsonas~/.abra/apps.json, update it as needed (i.e. when remote modified time is more recent than the local mtime)abra recipe lsto list all recipes available inapps.jsonabra recipe <recipe> versionsto show all a recipe's versionsabra recipe <recipe> release, replacingbin/app-version.sh, to sync git tags and Docker deploy labels with image versions, using metadata from Skopeo -- this also handles bumping recipe versions according to the logic in coop-cloud/organising#51require_yqinto a genericvendor_binaryfunction, and use it for bothjqandyqabra app <app> deploycommand to accept an optional<version>argument, and makeabra app <app> rollbackwork the same asabra app <app> deploy <last-version>(i.e. no longer usingdocker service rollback, which seems like it'll rarely be what people want)require_app_latestwithrequire_app_version, which accepts a recipe name and a version (tag), and only pull from git if we're trying to use a tag that's not available locally.checkout_main_or_masterto make a generic version of the diabolical logic we're using to handle different primary branch names.This PR also continues a gradual wafting towards lowercase names for local variables (keeping e.g.
ABRA_DIRcapitalised, but making e.g.$versionlowercase)... recipe .. releasesubcommand da77b63b7crecipe .. release2772eba601recipe .. releaseaf6e0920f2recipe .. releasedocs 1ffec9aec77279b54f51toa26a0d27d7