Generic Shovel bucket
In this repository you will find everything you need to know about creating custom bucket with appveyor support.
Files and helpers
bucket
Folder
- All manifests belong here
-
.gitkeep
file could be removed when you push your first manifest
bin
Folder
If you need custom scripts you should create bin
folder.
Bucket.Tests.ps1
File
- Test which are executed inside Appveyor pipeline
- Could be configured as
pre_commit
hook
.vscode
Folder
Contains all syntax highlighting, code formating, manifest creating tools you could use.
- Extensions
- All extensions which will save your time while writing manifests are in recommended sections
- You will be notified about installing them when you open project
- Settings
- All settings are set to be compatible with Appveyor pipeline and upstream (official) repositories
- No need to worry about formating restrictions between repositories.
- Code snippets
-
Code snippets are templates that make it easier to enter repeating code patterns, such as loops or conditional-statements.
- You could use workspace wide code snippets for speed up manifest creating
- While editing json file write partitial name of snippet and press
tab
- Available Json snippets:
-
app
- Create default manifest structure
-
appArch
- Create default manifest structure with full acrchitecture
-
arch
- Create only architecture property with 64bit and 32bit
-
upAr
- Create autoupdate property with architecture
.github
Folder
GitHub repository configuration.
-
workflows
folder
-
CODEOWNERS
- Pull requests will automatically request review for users defined in this file
-
PULL REQUEST TEMPLATE
- Prefilled pull request types with proper titles
-
ISSUE TEMPLATE
- The most used issue templates for users to select and prefilled with required information and labels
config files
-
.appveyor.yml
- Definition of Appveyor CI pipeline
-
.editorconfig
- Universal configuration file, compatible with all types of editors
- Defines how files should look
-
.gitattributes
- Simplifying line endings for git
- No need to configure
auto.clrf
setting on each clone or new workspaces
-
Bucket.Tests.ps1
- Test which are executed inside Appveyor pipeline
- Could be configured as
pre_commit
hook
How to use and adopt this bucket
- Click on
Use this template
to create new repository in your account with same files
- Open project settings and give your bucket new name
- Add proper description of repository
- Information about what type of manifests could be found here
- Add
shovel-bucket
tag for repository
- Enable appveyor CI/CD
- Register / Login to Appveyor
- Click
New Project
- From Left Panel, choose your source control variant (Github)
- From Right Panel, choose repository with bucket and click
+ Add
- 🎉 Project created and ready to build 🎉
- Get Badge URL
- Open Appveyor Project settings
- Navigate to Badges
- Copy
Branch Sample markdown code
snippet for further usage
- Clone project into some folder
git clone git@github.com:USER/REPO.git MyAwesomeBucket
- or
git clone https://github.com/USER/REPO.git MyAwesomeBucket
- Open vscode with this clone
-
[optional] Configure remote repository
git remote add 'upstream' 'https://github.com/Ash258/GenericBucket.git'
- This step will allow you to synchronize changes with this template repository
- Create proper README.md
- Open this README in the browser for reference
- Open
README.template.md
- Replace all
%%templatestring%%
with real and according values
- Replace appveyor status badge with yours
- Override this README with completed
README.template.md
- Remove template
README.template.md
- Repository tweaks
- Open
.github\CODEOWNERS
and change @Ash258
to desired GitHub username
- Actions
- Open each file in
.github\workflows
and change youremail@email.com
with your email
- Visit https://github.com/shovel-org/GithubActions for more information
- 🎉🎉 Everything set. High quality and automated bucket is ready for new users 🎉🎉