Skip to content

Commit

Permalink
Add basic github workflows
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicoretti committed Feb 8, 2024
1 parent 4d7b826 commit 26c4422
Show file tree
Hide file tree
Showing 7 changed files with 134 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/actions/pytest-plugins-environment/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: "pytest-plugin-environment"
description: "This action sets up an environment for testing and building pytest plugins"


inputs:

python-version:
description: 'Python version to use'
required: true
default: 3.9

poetry-version:
description: 'Poetry version to use'
required: true
default: 1.2.2

pipx-version:
description: 'Pipx version to use'
required: true
default: 1.0.0

ruff-version:
description: 'Ruff version to use'
required: true
default: 0.2.1

just-version:
description: 'Just version to use'
required: true
default: 1.16.0

runs:

using: "composite"
steps:

- name: Setup Python (${{ inputs.python-version}})
uses: actions/setup-python@v5
with:
python-version: ${{ inputs.python-version }}

- name: Setup Poetry (${{ inputs.poetry-version }})
uses: abatilo/actions-poetry@v2
with:
poetry-version: ${{ inputs.poetry-version }}

- name: Setup pipx (${{ inputs.pipx-version }})
run: pip install "pipx==${{ inputs.pipx-version }}"
shell: bash

- name: Setup ruff (${{ inputs.ruff-version }})
run: pipx install "ruff==${{ inputs.ruff-version }}"
shell: bash

- name: Setup just (${{ inputs.just-version }})
uses: extractions/setup-just@v1
with:
just-version: ${{ inputs.just-version }}

Empty file added .github/workflows/cd.yml
Empty file.
26 changes: 26 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Checks

on:
workflow_call:
secrets:
ALTERNATIVE_GITHUB_TOKEN:
required: false

jobs:

Checks:
name: Tests
runs-on: ubuntu-latest

steps:
- name: SCM Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Development Environment
uses: ./.github/actions/pytest-plugins-environment

- name: Run Tests of all plugins
run: just test

15 changes: 15 additions & 0 deletions .github/workflows/ci-main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Continues Integration (Master)

on:
workflow_dispatch:
push:
branches:
- mainj
schedule:
# “At 00:00 on every 7th day-of-month from 1 through 31.” (https://crontab.guru)
- cron: "0 0 1/7 * *"

jobs:

Checks:
uses: ./.github/workflows/checks.yml
9 changes: 9 additions & 0 deletions .github/workflows/ci-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: Continues Integration (PR)

on:
pull_request:

jobs:

Checks:
uses: ./.github/workflows/checks.yml
21 changes: 21 additions & 0 deletions ]
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
PROJECTS := "pytest-itde"

# Default target
default:
just --list

# Reformat all python files in the respository
fmt:
ruff format
ruff --fix

# Run tests for one or multiple projects within this respository
test +projects=PROJECTS:
#!/usr/bin/env bash
echo "running test target"
for p in {{projects}}; do
echo "for loop: ${p}"
poetry --version
poetry -C ${p}/ install
poetry -C ${p}/ run pytest ${p}/test
done
4 changes: 4 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ fmt:
# Run tests for one or multiple projects within this respository
test +projects=PROJECTS:
#!/usr/bin/env bash
set -x
echo "running test target"
for p in {{projects}}; do
echo "for loop: ${p}"
poetry --version
poetry -C ${p}/ install
poetry -C ${p}/ run pytest ${p}/test
done

0 comments on commit 26c4422

Please sign in to comment.