diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml new file mode 100644 index 0000000..70844cb --- /dev/null +++ b/.github/workflows/check.yml @@ -0,0 +1,18 @@ +name: check +on: [push, pull_request] +jobs: + reapack-index: + runs-on: ubuntu-latest + steps: + - name: Fetch repository + uses: actions/checkout@v2 + - name: Install Pandoc + run: sudo apt-get install -yy pandoc + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + - name: Install reapack-index + run: gem install reapack-index + - name: Validate packages + run: reapack-index --check diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..d873f18 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,28 @@ +name: deploy +on: + push: + branches: [master] +jobs: + reapack-index: + runs-on: ubuntu-latest + steps: + - name: Fetch repository + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: Configure git + run: |- + git config user.name 'ReaTeam Bot' + git config user.email 'reateam-bot@cfillion.ca' + - name: Install Pandoc + run: sudo apt-get install -yy pandoc + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '3.0' + - name: Install reapack-index + run: gem install reapack-index + - name: Update index.xml + run: reapack-index --commit + - name: Push changes + run: git push diff --git a/.reapack-index.conf b/.reapack-index.conf new file mode 100644 index 0000000..233015c --- /dev/null +++ b/.reapack-index.conf @@ -0,0 +1,4 @@ +--about README.md +--commit-template "index: $changelog + +[ci skip]" diff --git a/Example/cfillion_Hello world.lua b/Example/cfillion_Hello world.lua new file mode 100644 index 0000000..ef9ba0a --- /dev/null +++ b/Example/cfillion_Hello world.lua @@ -0,0 +1,13 @@ +-- @description Hello world +-- @author cfillion +-- @version 1.0 +-- @about +-- This is an example of a package file. It installs itself as a ReaScript that +-- does nothing but show "Hello World!" in REAPER's scripting console. +-- +-- Packages may also include additional files specified using the @provides tag. +-- +-- This text is the documentation shown when using ReaPack's "About this package" +-- feature. [Markdown](https://commonmark.org/) *formatting* is supported. + +reaper.ShowConsoleMsg 'Hello World!' diff --git a/README.md b/README.md new file mode 100644 index 0000000..1da4902 --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# ReaPack Repository Template + +A template for GitHub-hosted ReaPack repositories with automated +[reapack-index](https://github.com/cfillion/reapack-index) +running from GitHub Actions. + +Replace the name of the repository in [index.xml](/index.xml) when using this template. +This will be the name shown in ReaPack. + +```xml + +``` + +Replace the contents of this file ([README.md](/README.md)). +This will be the text shown when using ReaPack's "About this repository" feature. + +reapack-index looks for package files in subfolders. +The folder tree represents the package categories shown in ReaPack. + +Each package file is expected to begin with a metadata header. +See [Packaging Documentation](https://github.com/cfillion/reapack-index/wiki/Packaging-Documentation) on reapack-index's wiki. + +The URL to import in ReaPack is [https://github.com/``/``/raw/master/index.xml](https://github.com/cfillion/reapack-repository-template/raw/master/index.xml). diff --git a/index.xml b/index.xml new file mode 100644 index 0000000..1eb0b31 --- /dev/null +++ b/index.xml @@ -0,0 +1,55 @@ + + + + + + + + + https://github.com/cfillion/reapack-repository-template/raw/58a3e39ba95bd0f35846aa1f39aa4cb2574295e1/Example/cfillion_Hello%20world.lua + + + + + \par} +{\pard \ql \f0 \sa180 \li0 \fi0 Replace the contents of this file ({\field{\*\fldinst{HYPERLINK "/README.md"}}{\fldrslt{\ul +README.md +}}} +). This will be the text shown when using ReaPack's "About this repository" feature.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 reapack-index looks for package files in subfolders. The folder tree represents the package categories shown in ReaPack.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 Each package file is expected to begin with a metadata header. See {\field{\*\fldinst{HYPERLINK "https://github.com/cfillion/reapack-index/wiki/Packaging-Documentation"}}{\fldrslt{\ul +Packaging Documentation +}}} + on reapack-index's wiki.\par} +{\pard \ql \f0 \sa180 \li0 \fi0 The URL to import in ReaPack is {\field{\*\fldinst{HYPERLINK "https://github.com/cfillion/reapack-repository-template/raw/master/index.xml"}}{\fldrslt{\ul +https://github.com/{\f1 }/{\f1 }/raw/master/index.xml +}}} +.\par} +} +]]> + +