From 94b167ed46a254a6dba5db7b96e96d1fd262b324 Mon Sep 17 00:00:00 2001 From: Mitchell Macpherson Date: Thu, 8 Jul 2021 00:13:42 +1000 Subject: [PATCH] Initial commit --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ action.yaml | 30 ++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 README.md create mode 100644 action.yaml diff --git a/README.md b/README.md new file mode 100644 index 0000000..a8bda6b --- /dev/null +++ b/README.md @@ -0,0 +1,61 @@ +# Satis - composer repository +Used for building your own composer repository using [composer/satis](https://github.com/composer/satis). + +## Inputs + +| Input | Description | Required | +|--------------|---------------------------------------------------------------------------------------------------------|------------------------------| +| token | GitHub token that will be used for composer when invoked by satis.
Currently auth is static for "github-oauth" | Yes | +| satis_config | Path to your satis configuration file | No.
Default = `./satis.json` | + +## Outputs +None + +## Usage +**Note:** Your `satis.json` **must** contain `"output-dir": ""` + +Example `.github/workflow/composer-build.yaml` +```yaml +# eg. Can be used to host your internal composer package registry on github pages. +name: Composer repository + +on: + - push + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: dev-this/satis-build@v1 + with: + token: ${{ GITHUB_TOKEN }} # App/OAuth token, PAT + - env: + GIT_EMAIL: bot@github.com + GIT_NAME: cool-bot + run: | + git config user.name $GIT_NAME + git config user.email $GIT_EMAIL + git add docs/ + git commit -m "Re-built repository assets" + git push +``` + +Example `satis.json` +```json +{ + "name": "my-cool/repository", + "homepage": "https://where-are-you/", + "repositories": [ + { + "packagist.org": false + }, + { + "type": "vcs", + "url": "https://github.com/my-cool-org/the-repository" + } + ], + "require-all": true, + "output-dir": "docs" +} +``` diff --git a/action.yaml b/action.yaml new file mode 100644 index 0000000..8289cb3 --- /dev/null +++ b/action.yaml @@ -0,0 +1,30 @@ +name: 'Satis build - composer repository' +description: 'Build a static composer repository using satis' + +inputs: + token: + description: 'Token to use (ie. GITHUB_TOKEN, App token or a PAT)' + required: true + satis_config: + description: 'Path to satis configuration file (default: ./satis.json)' + required: false + default: 'satis.json' + +runs: + using: "composite" + steps: + - env: + COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ inputs.token }}"}}' + run: | + echo '{"require": {"composer/satis": "dev-main"}}' > composer.json + + composer require composer/satis --prefer-dist \ + --no-progress --no-interaction -o \ + --ignore-platform-reqs + + php vendor/bin/satis build ${{ inputs.satis_config }} -n + shell: bash + +branding: + icon: 'download-cloud' + color: 'gray-dark'