Satis is an open-source Composer repository generator. This repository serves as Newfold's static file-based version of Packagist and hosts the metadata of Newfold's packages.
- Run
composer config repositories.newfold-labs composer https://newfold-labs.github.io/satis
in your project to access available packages. - Head over to https://newfold-labs.github.io/satis/ to browse available packages.
- Run
composer require newfold-labs/{packageName}
to install a package.
- Clone this repository:
git clone git@github.com:newfold-labs/satis.git
- Run
composer install
- Run
composer satis add <url>
where<url>
is the URL for the Git repo. SSH GitHub URLs are preferred. - Commit changes and push.
- In the remote repo, setup the following GitHub Action so that new releases will trigger Satis to rebuild.
name: Trigger Satis Build
on:
release:
types:
- created
jobs:
webhook:
name: Send Webhook
runs-on: ubuntu-latest
steps:
- name: Set Package
id: package
env:
REPO: ${{ github.repository }}
run: echo ::set-output name=PACKAGE::${REPO##*/}
- name: Set Version
id: tag
run: echo ::set-output name=VERSION::${GITHUB_REF##*/}
- name: Repository Dispatch
uses: peter-evans/repository-dispatch@v1
with:
token: ${{ secrets.WEBHOOK_TOKEN }}
repository: newfold-labs/satis
event-type: 'satis-build'
client-payload: >-
{
"vendor": "${{ github.repository_owner }}",
"package": "${{ steps.package.outputs.PACKAGE }}",
"version": "${{ steps.tag.outputs.VERSION }}"
}
You must create a personal access token with repo
access and set it as the WEBHOOK_TOKEN
secret on the remote repository. Also, make sure that GitHub Actions is enabled for the repository.