htnhan / VM-Packages

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

daily check CI

Virtual Machine Packages

Overview

This repository contains the source code for packages supporting the projects below:

NOTE: Packages do not contain actual software distributions. Packages are PowerShell scripts that only contain instructions for obtaining distributions. See Chocolatey legal information for more details.

Package Lifecycle

Below is a summary of a package's lifecycle from source code to tool installation:

  1. Package source code committed
  2. Package built and pushed to MyGet repository
    • A built package is a .nupkg file that's essentially a ZIP file of the package source code
    • GitHub actions will perform building/pushing to MyGet; however, repo admins may need to manually build/push packages occasionally
  3. User runs installation script for:
  4. Installation script downloads built package (aka .nupkg file) from MyGet
    • The installation script contains a list of packages to install (e.g., packages.json)
  5. Installation script installs the package which in turn performs the actions below:
    • Package contains a tool's URL link
    • Package downloads and installs tool to the User's system

Why Open-Source the Package Code?

Open-sourcing the package source code provides the community an avenue to both fix broken packages and submit new packages.

Additional Benefits: Automation

Once a package is submitted, our PR hooks will test the package to see if it builds and installs correctly. Additionally, GitHub actions can automatically build and test each package on a daily or weekly basis to check if a package has broke. The awareness of broken packages is a large problem by itself which these actions can alleviate.

How do I Create a Package?

Please see the Wiki for documentation on how to create a package using our established best practices.

About

License:Apache License 2.0


Languages

Language:PowerShell 92.4%Language:Python 7.6%