This repository contains common actions and tools used throughout the Snapcrafters organisation for the testing and delivery of our snaps.
The actions in this repo are all used during the build, test and release of our snaps. Each of them listed below has it's own README
- snapcrafters/ci/call-for-testing
- snapcrafters/ci/get-architectures
- snapcrafters/ci/get-screenshots
- snapcrafters/ci/parse-snapcraft-yaml
- snapcrafters/ci/promote-to-stable
- snapcrafters/ci/release-to-candidate
- snapcrafters/ci/sync-version
- snapcrafters/ci/test-snap-build
You can see examples of these actions in use in the following repos:
If you'd like to contribute to this repository, please feel free to fork and create a pull request.
There are a few style guidelines to keep in mind:
- Code should be linted using Prettier. You can achieve this with
make lint
andmake format
. The only requirements arenpx
andshellcheck
. - When defining inputs/outputs in
action.yaml
, or listing them in the tables withinREADME.md
, they should be listed in alphabetical order for easy reading and updating. - Github Action inputs/outputs should be named all lowercase, separated by
-
where needed. The applies to inputs/outputs to actions themselves, and for individual steps within the actions. For example:snap-name
ortoken
. - Environment variables referring to repository level secrets and variables should be named all uppercase, and separated by
_
. For example:SNAPCRAFTERS_BOT_COMMIT
. - Step/job level environment variables should be named all lowercase, and separated by
_
. For example:snap_name
oryaml_path
. - All
bash
variables should be quoted. - Scripts of all kinds, including those within actions
run:|
directives should follow the Google styleguide