Skip to content

[QOLDEV-1020] simplify tests #184

[QOLDEV-1020] simplify tests

[QOLDEV-1020] simplify tests #184

Workflow file for this run

---
name: Tests
on:
push:
pull_request:
branches:
- master
jobs:
# Quick check so we don't waste minutes if there's a Flake8 error
lint:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install requirements
run: pip install flake8 pycodestyle
- name: Check syntax
run: flake8
test:
needs: lint
strategy:
fail-fast: false
matrix:
ckan-version: ["2.11", "2.10", 2.9]
experimental: [false]
include:
- ckan-version: 'master'
experimental: true #master is unstable, good to know if we are compatible or not
name: Test on CKAN ${{ matrix.ckan-version }}
runs-on: ubuntu-latest
container: drevops/ci-runner:23.12.0
env:
CKAN_VERSION: ${{ matrix.ckan-version }}
steps:
# Patch https://github.com/actions/runner/issues/863
- name: Preserve $HOME set in the container
run: echo HOME=/root >> "$GITHUB_ENV"
- uses: actions/checkout@v4
continue-on-error: ${{ matrix.experimental }}
timeout-minutes: 2
- name: Build
continue-on-error: ${{ matrix.experimental }}
run: bin/build.sh
timeout-minutes: 15
- name: Unit test
continue-on-error: ${{ matrix.experimental }}
run: bin/test.sh
timeout-minutes: 10
- name: Scenario test
continue-on-error: ${{ matrix.experimental }}
run: bin/test-bdd.sh
timeout-minutes: 30
- name: Retrieve logs
if: always()
run: ahoy logs
continue-on-error: ${{ matrix.experimental }}
timeout-minutes: 1
- name: Retrieve results
if: always()
run: bin/process-artifacts.sh
continue-on-error: ${{ matrix.experimental }}
timeout-minutes: 1
- name: Test Summary
uses: test-summary/action@v2
continue-on-error: ${{ matrix.experimental }}
with:
paths: "/tmp/artifacts/junit/*.xml"
if: always()
- name: Upload screenshots
if: always()
uses: actions/upload-artifact@v4
continue-on-error: ${{ matrix.experimental }}
with:
name: CKAN ${{ matrix.ckan-version }} screenshots
path: /tmp/artifacts/behave/screenshots
timeout-minutes: 1