Merge pull request #161 from dokku/github-actions-attempt
tests: migrate to github actions
This commit is contained in:
@@ -9,27 +9,6 @@ commands:
|
|||||||
default: "3.7.0"
|
default: "3.7.0"
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
- run: pyenv global << parameters.python_version >>
|
|
||||||
- run: make setup
|
|
||||||
- run: sudo sysctl -w vm.max_map_count=262144
|
|
||||||
- run:
|
|
||||||
command: |
|
|
||||||
make generate
|
|
||||||
if ! git diff --quiet README.md; then
|
|
||||||
echo "Please run `make generate`"
|
|
||||||
git status --short
|
|
||||||
git --no-pager diff README.md
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
- run: make test
|
|
||||||
- store_artifacts:
|
|
||||||
path: build
|
|
||||||
destination: build
|
|
||||||
- store_artifacts:
|
|
||||||
path: tmp/test-results
|
|
||||||
destination: test-results
|
|
||||||
- store_test_results:
|
|
||||||
path: tmp/test-results
|
|
||||||
|
|
||||||
executors:
|
executors:
|
||||||
machine:
|
machine:
|
||||||
@@ -45,16 +24,8 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- build
|
- build
|
||||||
|
|
||||||
build-version:
|
|
||||||
environment:
|
|
||||||
DOKKU_VERSION: v0.19.0
|
|
||||||
executor: machine
|
|
||||||
steps:
|
|
||||||
- build
|
|
||||||
|
|
||||||
workflows:
|
workflows:
|
||||||
version: 2
|
version: 2
|
||||||
build:
|
build:
|
||||||
jobs:
|
jobs:
|
||||||
- "build-master"
|
- "build-master"
|
||||||
- "build-version"
|
|
||||||
|
|||||||
82
.github/workflows/ci.yml
vendored
Normal file
82
.github/workflows/ci.yml
vendored
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
---
|
||||||
|
name: CI
|
||||||
|
|
||||||
|
# yamllint disable-line rule:truthy
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- '*'
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
unit-tests-master:
|
||||||
|
name: unit-tests
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
strategy:
|
||||||
|
fail-fast: true
|
||||||
|
env:
|
||||||
|
DOKKU_VERSION: master
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.7.x'
|
||||||
|
|
||||||
|
- run: make setup
|
||||||
|
|
||||||
|
- run: sudo sysctl -w vm.max_map_count=262144
|
||||||
|
|
||||||
|
- run: |
|
||||||
|
make generate
|
||||||
|
if ! git diff --quiet README.md; then
|
||||||
|
echo "Please run `make generate`"
|
||||||
|
git status --short
|
||||||
|
git --no-pager diff README.md
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- run: make test
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
if: failure()
|
||||||
|
with:
|
||||||
|
name: tmp/test-results
|
||||||
|
path: test-results
|
||||||
|
|
||||||
|
unit-tests-0_19_0:
|
||||||
|
name: unit-tests-0.19.0
|
||||||
|
runs-on: ubuntu-18.04
|
||||||
|
strategy:
|
||||||
|
fail-fast: true
|
||||||
|
env:
|
||||||
|
DOKKU_TAG: v0.19.0
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.7.x'
|
||||||
|
|
||||||
|
- run: make setup
|
||||||
|
|
||||||
|
- run: sudo sysctl -w vm.max_map_count=262144
|
||||||
|
|
||||||
|
- run: |
|
||||||
|
make generate
|
||||||
|
if ! git diff --quiet README.md; then
|
||||||
|
echo "Please run `make generate`"
|
||||||
|
git status --short
|
||||||
|
git --no-pager diff README.md
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- run: make test
|
||||||
|
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
if: failure()
|
||||||
|
with:
|
||||||
|
name: tmp/test-results
|
||||||
|
path: test-results
|
||||||
4
Makefile
4
Makefile
@@ -11,7 +11,7 @@ ifneq ($(shell bats --version >/dev/null 2>&1 ; echo $$?),0)
|
|||||||
brew install bats-core
|
brew install bats-core
|
||||||
endif
|
endif
|
||||||
else
|
else
|
||||||
git clone https://github.com/josegonzalez/bats-core.git /tmp/bats
|
git clone https://github.com/bats-core/bats-core.git /tmp/bats
|
||||||
cd /tmp/bats && sudo ./install.sh /usr/local
|
cd /tmp/bats && sudo ./install.sh /usr/local
|
||||||
rm -rf /tmp/bats
|
rm -rf /tmp/bats
|
||||||
endif
|
endif
|
||||||
@@ -63,7 +63,7 @@ unit-tests:
|
|||||||
@echo running unit tests...
|
@echo running unit tests...
|
||||||
@mkdir -p tmp/test-results/bats
|
@mkdir -p tmp/test-results/bats
|
||||||
@cd tests && echo "executing tests: $(shell cd tests ; ls *.bats | xargs)"
|
@cd tests && echo "executing tests: $(shell cd tests ; ls *.bats | xargs)"
|
||||||
cd tests && bats --formatter bats-format-junit -e -T -o ../tmp/test-results/bats *.bats
|
cd tests && bats --report-formatter junit --timing -o ../tmp/test-results/bats *.bats
|
||||||
|
|
||||||
tmp/xunit-reader:
|
tmp/xunit-reader:
|
||||||
mkdir -p tmp
|
mkdir -p tmp
|
||||||
|
|||||||
@@ -4,13 +4,13 @@ Official redis plugin for dokku. Currently defaults to installing [redis 5.0.7](
|
|||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
- dokku 0.12.x+
|
- dokku 0.19.x+
|
||||||
- docker 1.8.x
|
- docker 1.8.x
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
# on 0.12.x+
|
# on 0.19.x+
|
||||||
sudo dokku plugin:install https://github.com/dokku/dokku-redis.git redis
|
sudo dokku plugin:install https://github.com/dokku/dokku-redis.git redis
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -506,7 +506,7 @@ def main():
|
|||||||
sponsors = re.search("\[([\"\w\s,_-]+)\]", line).group(1)
|
sponsors = re.search("\[([\"\w\s,_-]+)\]", line).group(1)
|
||||||
sponsors = [s.strip("\"") for s in sponsors.split(",")]
|
sponsors = [s.strip("\"") for s in sponsors.split(",")]
|
||||||
|
|
||||||
text = compile(service, version, variable, alias, image, scheme, ports, sponsors, unimplemented, "0.12.x+")
|
text = compile(service, version, variable, alias, image, scheme, ports, sponsors, unimplemented, "0.19.x+")
|
||||||
|
|
||||||
base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
base_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
|
||||||
readme_file = os.path.join(base_path, "README.md")
|
readme_file = os.path.join(base_path, "README.md")
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ teardown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:export) success with SSH_TTY" {
|
@test "($PLUGIN_COMMAND_PREFIX:export) success with SSH_TTY" {
|
||||||
|
if [[ -n "$GITHUB_WORKFLOW" ]]; then
|
||||||
|
skip "No tty is available on Github Actions"
|
||||||
|
fi
|
||||||
export SSH_TTY=`tty`
|
export SSH_TTY=`tty`
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
|
run dokku "$PLUGIN_COMMAND_PREFIX:export" l
|
||||||
echo "output: $output"
|
echo "output: $output"
|
||||||
|
|||||||
@@ -24,6 +24,9 @@ teardown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@test "($PLUGIN_COMMAND_PREFIX:import) error when data is not provided" {
|
@test "($PLUGIN_COMMAND_PREFIX:import) error when data is not provided" {
|
||||||
|
if [[ -n "$GITHUB_WORKFLOW" ]]; then
|
||||||
|
skip "No tty is available on Github Actions"
|
||||||
|
fi
|
||||||
run dokku "$PLUGIN_COMMAND_PREFIX:import" l
|
run dokku "$PLUGIN_COMMAND_PREFIX:import" l
|
||||||
assert_contains "${lines[*]}" "No data provided on stdin"
|
assert_contains "${lines[*]}" "No data provided on stdin"
|
||||||
assert_failure
|
assert_failure
|
||||||
|
|||||||
Reference in New Issue
Block a user