diff --git a/.github/workflows/branch-coverage.yml b/.github/workflows/branch-coverage.yml new file mode 100644 index 0000000..8bac4e7 --- /dev/null +++ b/.github/workflows/branch-coverage.yml @@ -0,0 +1,56 @@ +name: Branch Coverage + +on: + workflow_dispatch: + # push: + # branches: + # - gha + +jobs: + coverage: + runs-on: gha-runners-delib-py2 + strategy: + fail-fast: false + matrix: + plone-version: ["4.3"] + services: + soffice: + image: harbor.imio.be/common/libreoffice:7.3 + ports: + - 2002:2002 + volumes: + - /tmp:/tmp + - /var/tmp:/var/tmp + credentials: + username: ${{ secrets.COMMON_HARBOR_USERNAME }} + password: ${{ secrets.COMMON_HARBOR_PASSWORD }} + steps: + - name: Needed for local development + if: ${{ env.ACT }} + run: echo /home/runner/externals/node20/bin >> $GITHUB_PATH + - name: Run check + uses: IMIO/gha/plone-package-test-notify@v4 + env: + cache-name: cache-eggs + with: + CACHE_KEY: ${{ runner.os }}-build-${{ env.cache-name }}-2.7.18 + TEST_COMMAND: coverage run bin/test + INSTALL_DEPENDENCIES_COMMANDS: | + sudo pip2.7 install -r requirements-tests.txt + sudo apt-get update + sudo apt-get install -y python3-pip + sudo pip3 install -r requirements-coverage.txt + MATTERMOST_WEBHOOK_URL: ${{ secrets.DELIB_MATTERMOST_WEBHOOK_URL }} + #BUILDOUT_CONFIG_FILE: 'test-${{ matrix.plone-version }}.cfg' + BUILDOUT_CONFIG_FILE: buildout.cfg + - name: Report + run: | + coverage report + coverage xml + shell: bash + # - name: Publish to Coveralls + # run: | + # coveralls --service=github + # shell: bash + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..6efa7f1 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,49 @@ +name: Test package + +on: + workflow_dispatch: + repository_dispatch: + push: + branches: + - master + pull_request: + types: + - opened + - reopened + - synchronize + - ready_for_review + branches: + - master +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + runs-on: gha-runners-delib-py2 + continue-on-error: ${{ matrix.experimental }} + strategy: + fail-fast: false + matrix: + python-version: ["2.7"] + plone-version: ["4.3"] + experimental: [false] + if: ${{ !github.event_name == 'pull_request' || !github.event.pull_request.draft }} + steps: + - name: Needed for local development + if: ${{ env.ACT }} + run: echo /home/runner/externals/node20/bin >> $GITHUB_PATH + shell: bash + - name: Launch soffice + run: soffice '--accept=socket,host=0.0.0.0,port=2002;urp;StarOffice.ServiceManager' --nologo --headless --nofirststartwizard --norestore & + shell: bash + - name: Run tests + uses: IMIO/gha/plone-package-test-notify@main + env: + cache-name: cache-eggs + with: + CACHE_KEY: ${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.python-version }} + TEST_COMMAND: OO_SERVER=localhost OO_PORT=2002 bin/testseraing --layer=\!ROBOT --test=\!\(testSetup\|testPerf\) -s Products.MeetingSeraing + INSTALL_DEPENDENCIES_COMMANDS: | + sudo pip install -r requirements-tests.txt + MATTERMOST_WEBHOOK_URL: ${{ secrets.DELIB_MATTERMOST_WEBHOOK_URL }} \ No newline at end of file diff --git a/buildout.cfg b/buildout.cfg new file mode 100644 index 0000000..91c1e3e --- /dev/null +++ b/buildout.cfg @@ -0,0 +1,29 @@ +[buildout] +extends = https://raw.githubusercontent.com/IMIO/buildout.pm/refs/heads/master/communes-dev.cfg + +auto-checkout += + Products.MeetingSeraing + +parts += + testseraing + +[instance1] +eggs += + Products.MeetingSeraing + +zcml += + Products.MeetingSeraing + Products.MeetingCommunes + imio.pm.locales + +[sources] +Products.MeetingSeraing = git ${remotes:imio}/Products.MeetingSeraing.git pushurl=${remotes:imio_push}/Products.MeetingSeraing.git branch=master +Products.MeetingCommunes = git ${remotes:imio}/Products.MeetingCommunes.git pushurl=${remotes:imio_push}/Products.MeetingCommunes.git branch=master + +[testseraing] +recipe = zc.recipe.testrunner +defaults = ['--auto-color', '--auto-progress', '-s', 'Products.MeetingSeraing'] +eggs = + ${test:eggs} + Products.MeetingSeraing [test] +environment = testenv \ No newline at end of file diff --git a/requirements-coverage.txt b/requirements-coverage.txt new file mode 100644 index 0000000..9ec9417 --- /dev/null +++ b/requirements-coverage.txt @@ -0,0 +1 @@ +coveralls==4.0.1 \ No newline at end of file diff --git a/requirements-tests.txt b/requirements-tests.txt new file mode 100644 index 0000000..a937072 --- /dev/null +++ b/requirements-tests.txt @@ -0,0 +1,2 @@ +-r https://raw.githubusercontent.com/IMIO/buildout.pm/refs/heads/master/requirements.txt +coverage==5.5 \ No newline at end of file