diff --git a/.github/workflows/daily-check.yml b/.github/workflows/daily-check.yml new file mode 100644 index 0000000..891fd5d --- /dev/null +++ b/.github/workflows/daily-check.yml @@ -0,0 +1,31 @@ +name: Daily check + +on: + schedule: + - cron: "0 4 * * *" + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + keycloak-version: ["20.0", "21.0", "latest"] + env: + KEYCLOAK_DOCKER_IMAGE_TAG: ${{ matrix.keycloak-version }} + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - uses: docker-practice/actions-setup-docker@master + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install poetry + poetry install + - name: Run tests + run: | + poetry run tox -e tests \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 0000000..c64c5b5 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,102 @@ +name: Lint + +on: + push: + branches: [master] + pull_request: + branches: [master] + +jobs: + check-commits: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: webiny/action-conventional-commits@v1.0.3 + + check-linting: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install poetry + poetry install + - name: Check linting, formatting + run: | + poetry run tox -e check + + check-docs: + runs-on: ubuntu-latest + needs: + - check-commits + - check-linting + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install poetry + poetry install + - name: Check documentation build + run: | + poetry run tox -e docs + + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] + keycloak-version: ["20.0", "21.0", "latest"] + needs: + - check-commits + - check-linting + env: + KEYCLOAK_DOCKER_IMAGE_TAG: ${{ matrix.keycloak-version }} + steps: + - uses: actions/checkout@v3 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v3 + with: + python-version: ${{ matrix.python-version }} + - uses: docker-practice/actions-setup-docker@master + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install poetry + poetry install + - name: Run tests + run: | + poetry run tox -e tests + - name: Keycloak logs + run: | + cat keycloak_test_logs.txt + + build: + runs-on: ubuntu-latest + needs: + - test + - check-docs + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install poetry + poetry install + - name: Run build + run: | + poetry run tox -e build \ No newline at end of file