Skip to content

Commit

Permalink
feat: ape plugins list default
Browse files Browse the repository at this point in the history
  • Loading branch information
antazoey committed Aug 30, 2023
1 parent 8b89129 commit 74a5aa2
Show file tree
Hide file tree
Showing 5 changed files with 80 additions and 7 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: tests
name: Ape Version Test

on:
push:
Expand All @@ -9,7 +9,7 @@ on:
paths-ignore: ['**.md']

concurrency:
group: ${{ github.ref }}
group: ${{ github.ref }}-version
cancel-in-progress: true

jobs:
Expand All @@ -19,7 +19,13 @@ jobs:
strategy:
fail-fast: false
matrix:
version: ["default", "0.6.11", "==0.6.11", "git+https://github.com/ApeWorX/ape.git@main"]
version:
[
'default',
'0.6.11',
'==0.6.11',
'git+https://github.com/ApeWorX/ape.git@main',
]
steps:
- uses: actions/checkout@v3

Expand Down
39 changes: 39 additions & 0 deletions .github/workflows/test_plugins.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Ape Plugins Test

on:
push:
branches: [main]
tags-ignore: ['**']
paths-ignore: ['**.md']
pull_request:
paths-ignore: ['**.md']

concurrency:
group: ${{ github.ref }}-plugins
cancel-in-progress: true

jobs:
run-this-action:
name: Run action (${{ matrix.plugins }})
runs-on: [ubuntu-latest]
strategy:
fail-fast: false
matrix:
plugins: ['default', 'tokens', 'tokens==0.6.1 polygon']
steps:
- uses: actions/checkout@v3

- name: Check plugins
id: check-plugins
run: |
if [[ "${{ matrix.plugins }}" != "default" ]]; then
echo "ape-plugins=${{ matrix.plugins }}" >> $GITHUB_OUTPUT
fi
- name: Run ape action
id: ape-action
uses: ./
with:
ape-plugins-list: ${{ steps.check-plugins.outputs.ape-plugins }}

- run: ape plugins list
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,11 @@ Example values:
### `ape-plugins-list`

**Optional** Space-separated list of plugins to install.
Default is to install from local `ape-config.yaml`.
The default is to install from your project's local `ape-config.yaml`.
If you do not have any plugin version constraints specified in your `ape-config.yaml` file, the default includes the `-U` (`--upgrade`) flag to ensure you get the latest plugin versons.
Otherwise, it relies on the constraints you have configured.

Note: When requesting a pin, put it all together like `'plugin-a plugin-b==1.2.3 plugin-c>1.2'`
To request specific versions of plugins, use a space-separated value like this `'plugin-a plugin-b==1.2.3 plugin-c>1.2'`.

## Outputs

Expand Down
26 changes: 24 additions & 2 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ inputs:
ape-plugins-list:
description: 'Space seperated list of plugins to install with relevant pinning applied'
required: False
default: '-U .'
default: ''

outputs:
ape-version:
Expand Down Expand Up @@ -88,7 +88,29 @@ runs:
fi
shell: bash

- run: ape plugins install ${{ inputs.ape-plugins-list }}
- name: Check ape-config.yaml exists
id: check-ape-config-yaml
uses: andstor/file-existence-action@v1
with:
files: 'ape-config.yaml'

- run: |
if [[ "${{ steps.check-ape-config-yaml.outputs.files_exists }}" == "true" ]]; then
version_present=$(sed -n '/^plugins:/,/^[^ ]/{/version:/p;}' "ape-config.yaml" | grep -c version)
else
version_present=0
fi
if [[ "${version_present}" == "1" ]] && [[ -z "${{ inputs.ape-plugins-list }}" ]]; then
plugins_value="."
elif [[ -z "${{ inputs.ape-plugins-list }}" ]]; then
plugins_value="--upgrade ."
else
plugins_value="${{ inputs.ape-plugins-list }}"
fi
ape plugins install "$plugins_value"
shell: bash
- name: Find if requirements.txt if exists
Expand Down
4 changes: 4 additions & 0 deletions ape-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# This file exists only as a test for the action.
plugins:
- name: tokens
version: 0.6.1

0 comments on commit 74a5aa2

Please sign in to comment.