Skip to content

test: example

test: example #5

Workflow file for this run

name: Tests
'on':
push:
branches:
- master
pull_request:
jobs:
editorconfig:
name: Editorconfig
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Install editorconfig-checker
run: |
gh release download --pattern "*linux-amd64.tar.gz" --dir /tmp
tar --extract --gzip --strip-components 1 --file /tmp/ec-linux-amd64.tar.gz --directory /tmp
chmod +x /tmp/ec-linux-amd64
mv /tmp/ec-linux-amd64 /usr/local/bin/ec
env:
GH_REPO: editorconfig-checker/editorconfig-checker
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Run editorconfig-checker
run: |
ec
dockerfile:
name: Dockerfile
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check for Dockerfile files
id: check_dockerfile
uses: andstor/file-existence-action@v2
with:
files: "**/Dockerfile*"
- name: Install hadolint
if: steps.check_dockerfile.outputs.files_exists == 'true'
run: |
gh release download --pattern "*Linux-x86_64" --dir /tmp
chmod +x /tmp/hadolint-Linux-x86_64
mv /tmp/hadolint-Linux-x86_64 /usr/local/bin/hadolint
env:
GH_REPO: hadolint/hadolint
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Run hadolint
if: steps.check_dockerfile.outputs.files_exists == 'true'
run: |
find . -name "Dockerfile*" -not -name "Dockerfile.j2" -not -path "*/ansible_collections/*" -print0 | xargs -0 -I{} hadolint "{}"
shell:
name: Shell
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check for Shell files
id: check_shell
uses: andstor/file-existence-action@v2
with:
files: "**/*.sh"
- name: Install shellcheck
if: steps.check_shell.outputs.files_exists == 'true'
run: |
gh release download --pattern "*linux.x86_64.tar.xz" --dir /tmp
tar --extract --xz --strip-components 1 --file /tmp/shellcheck-*.linux.x86_64.tar.xz --directory /tmp
chmod +x /tmp/shellcheck
mv /tmp/shellcheck /usr/local/bin/shellcheck
env:
GH_REPO: koalaman/shellcheck
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
- name: Run shellcheck
if: steps.check_shell.outputs.files_exists == 'true'
run: |
find . -name "*.sh" -not -path "*/ansible_collections/*" -print0 | xargs -0 -I{} shellcheck --external-sources "{}"
yaml:
name: YAML
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check for YAML files
id: check_yaml
uses: andstor/file-existence-action@v2
with:
files: "**/*.yml"
- name: Install yamllint
if: steps.check_yaml.outputs.files_exists == 'true'
run: |
pip3 install --disable-pip-version-check yamllint
- name: Run yamllint
if: steps.check_yaml.outputs.files_exists == 'true'
run: |
yamllint --strict .
python:
name: Python
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check for Python files
id: check_python
uses: andstor/file-existence-action@v2
with:
files: "**/*.py"
- name: Install flake8
if: steps.check_python.outputs.files_exists == 'true'
run: |
pip3 install --disable-pip-version-check flake8
- name: Run flake8
if: steps.check_python.outputs.files_exists == 'true'
run: |
flake8 --show-source .
- name: Install isort
if: steps.check_python.outputs.files_exists == 'true'
run: |
pip3 install --disable-pip-version-check isort[colors]
- name: Run isort
if: steps.check_python.outputs.files_exists == 'true'
run: |
isort . --check-only --diff --color
- name: Check for Tox file
id: check_tox
uses: andstor/file-existence-action@v2
with:
files: "tox.ini"
- name: Install tox
if: steps.check_tox.outputs.files_exists == 'true'
run: |
pip3 install --disable-pip-version-check tox
- name: Install test dependencies
if: steps.check_tox.outputs.files_exists == 'true'
run: |
make dev-requirements
- name: Run tox
if: steps.check_tox.outputs.files_exists == 'true'
run: |
tox
ansible:
name: Ansible
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check for Ansible files
id: check_ansible
uses: andstor/file-existence-action@v2
with:
files: "tasks, meta"
- name: Set up Python 3.x
if: steps.check_ansible.outputs.files_exists == 'true'
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install ansible
if: steps.check_ansible.outputs.files_exists == 'true'
run: |
pip3 install --disable-pip-version-check ansible
- name: Install ansible-lint
if: steps.check_ansible.outputs.files_exists == 'true'
run: |
pip3 install --disable-pip-version-check ansible-lint
- name: Run ansible-lint
if: steps.check_ansible.outputs.files_exists == 'true'
run: |
ansible-lint --force-color .
- name: Check for Molecule files
id: check_molecule
uses: andstor/file-existence-action@v2
with:
files: "molecule"
- name: Install molecule
if: steps.check_molecule.outputs.files_exists == 'true'
run: |
pip3 install --disable-pip-version-check molecule molecule-plugins[docker] pytest-testinfra
- name: Run molecule
if: steps.check_molecule.outputs.files_exists == 'true'
run: |
molecule test --all
docker-compose:
name: Docker-Compose
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Check for Docker-Compose test file
id: check_docker_compose_test
uses: andstor/file-existence-action@v2
with:
files: "docker-compose.test.yml"
- name: Run docker-compose test
if: steps.check_docker_compose_test.outputs.files_exists == 'true'
run: |
docker compose --file docker-compose.test.yml build
go:
name: Go
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
- name: Run go vet
run: |
go vet ./...
- name: Run go test
run: |
go test -v -cover ./...
- name: bla
run:
- run: |
echo "blub"