Giter VIP home page Giter VIP logo

genericbucket's Introduction

Generic scoop bucket

โ—โ—๐ŸŽ‰ Repository was converted into Template. See blog for more information. ๐ŸŽ‰โ—โ—

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

Scripts which will save you time while debuging and writing manifests. If you need help how to use them just run Get-Help .\bin\<BINARY>.ps1.

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
      • persistCheck, persistInlineContent, persistInlineNoContent
        • Installer / pre_install script for checking if file is already persisted or need to be created

.github Folder

GitHub repository configuration.

  • workflows folder
  • CODEOWNERS
    • Pull requests will 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

  1. Click on Use this template to create new repository in your account with same files
  2. Open project settings and give your bucket in new name
  3. Add proper description of repository
    • Information about what type of manifests could be found here
  4. Add scoop-bucket tag for repository
  5. Enable appveyor CI/CD
    1. Register / Login to Appveyor
    2. Click New Project
    3. From Left Panel, choose your source control variant (Github)
    4. From Right Panel, choose repository with bucket and click + Add
    5. ๐ŸŽ‰ Project created and ready to build ๐ŸŽ‰
    6. Get Badge URL
      1. Open Appveyor Project settings
      2. Navigate to Badges
      3. Copy Branch Sample markdown code snippet for further usage
  6. Clone project into some folder
    • git clone [email protected]:USER/REPO.git MyAwesomeBucket
    • or
    • git clone https://github.com/USER/REPO.git MyAwesomeBucket
  7. Open vscode with this clone
    • code MyAwesomeBucket
  8. [optional] Configure remote repository
    1. git remote add 'upstream' 'https://github.com/Ash258/GenericBucket.git'
    • This step will allow you to synchronize changes with this template repository
    • If some changes are pushed into this repository and you want to reflect them into your bucket, you can simply do something like:
      • git fetch --all
      • git checkout -B upstream-master -t upstream/master
      • Do changes
      • git merge master or create PR in github
  9. Create proper README.md
    1. Open this README in the browser for reference
    2. Open README.template.md
    3. Replace all %%templatestring%% with real and according values
      1. Replace appveyor status badge with yours
    4. Override this README with completed README.template.md
    5. Remove template README.template.md
  10. Repository tweaks
    1. Open .github\CODEOWNERS and change @Ash258 to desired github username
    2. Actions
      1. Open each file in .github\workflows and change [email protected] with your email
      2. Visit https://github.com/Ash258/Scoop-GithubActions for more information
  11. ๐ŸŽ‰๐ŸŽ‰ Everything set. High quality and automated bucket is ready for new users ๐ŸŽ‰๐ŸŽ‰

genericbucket's People

Contributors

ash258 avatar rasa avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

genericbucket's Issues

Drop appveyor in favor of native Github Actions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.