|
9 | 9 | - master |
10 | 10 | - '!checkvalgrind**' |
11 | 11 |
|
12 | | -concurrency: |
| 12 | +concurrency: |
13 | 13 | group: ${{ github.workflow }}-${{ github.ref }} |
14 | 14 | cancel-in-progress: true |
15 | 15 |
|
16 | 16 | env: |
17 | | - TEST_IMAGE_NAME: telefonicaiot/fiware-orion:ci |
| 17 | + TEST_IMAGE_NAME: telefonicaiot/fiware-orion:ci |
18 | 18 |
|
19 | 19 | jobs: |
20 | 20 | functional: |
21 | 21 | runs-on: ubuntu-22.04 |
22 | 22 | continue-on-error: true |
23 | 23 |
|
24 | | - services: |
25 | | - mongodb: |
26 | | - image: mongo:8.0 |
27 | | - ports: |
28 | | - - 27017:27017 |
29 | | - |
30 | | - name: functional - ${{ matrix.payload.name }} |
31 | | - |
32 | 24 | strategy: |
33 | 25 | matrix: |
34 | | - payload: |
35 | | - - { name: 'batch 1 - cache', range: '-e FT_FROM_IX=0 -e FT_TO_IX=300' } |
36 | | - - { name: 'batch 2 - cache', range: '-e FT_FROM_IX=301 -e FT_TO_IX=600' } |
37 | | - - { name: 'batch 3 - cache', range: '-e FT_FROM_IX=601 -e FT_TO_IX=900' } |
38 | | - - { name: 'batch 4 - cache', range: '-e FT_FROM_IX=901 -e FT_TO_IX=1200' } |
39 | | - - { name: 'batch 5 - cache', range: '-e FT_FROM_IX=1201' } |
40 | | - - { name: 'batch 1 - no cache', range: '-e CB_NO_CACHE=ON -e FT_FROM_IX=0 -e FT_TO_IX=300' } |
41 | | - - { name: 'batch 2 - no cache', range: '-e CB_NO_CACHE=ON -e FT_FROM_IX=301 -e FT_TO_IX=600' } |
42 | | - - { name: 'batch 3 - no cache', range: '-e CB_NO_CACHE=ON -e FT_FROM_IX=601 -e FT_TO_IX=900' } |
43 | | - - { name: 'batch 4 - no cache', range: '-e CB_NO_CACHE=ON -e FT_FROM_IX=901 -e FT_TO_IX=1200' } |
44 | | - - { name: 'batch 5 - no cache', range: '-e CB_NO_CACHE=ON -e FT_FROM_IX=1201' } |
| 26 | + batch: |
| 27 | + - { name: "batch 1 - cache", FT_FROM_IX: 0, FT_TO_IX: 300, CB_NO_CACHE: "" } |
| 28 | + - { name: "batch 2 - cache", FT_FROM_IX: 301, FT_TO_IX: 600, CB_NO_CACHE: "" } |
| 29 | + - { name: "batch 3 - cache", FT_FROM_IX: 601, FT_TO_IX: 900, CB_NO_CACHE: "" } |
| 30 | + - { name: "batch 4 - cache", FT_FROM_IX: 901, FT_TO_IX: 1200, CB_NO_CACHE: "" } |
| 31 | + - { name: "batch 5 - cache", FT_FROM_IX: 1201,FT_TO_IX: "", CB_NO_CACHE: "" } |
| 32 | + - { name: "batch 1 - no cache", FT_FROM_IX: 0, FT_TO_IX: 300, CB_NO_CACHE: "ON" } |
| 33 | + - { name: "batch 2 - no cache", FT_FROM_IX: 301, FT_TO_IX: 600, CB_NO_CACHE: "ON" } |
| 34 | + - { name: "batch 3 - no cache", FT_FROM_IX: 601, FT_TO_IX: 900, CB_NO_CACHE: "ON" } |
| 35 | + - { name: "batch 4 - no cache", FT_FROM_IX: 901, FT_TO_IX: 1200, CB_NO_CACHE: "ON" } |
| 36 | + - { name: "batch 5 - no cache", FT_FROM_IX: 1201,FT_TO_IX: "", CB_NO_CACHE: "ON" } |
| 37 | + |
| 38 | + name: functional - ${{ matrix.batch.name }} |
45 | 39 |
|
46 | 40 | steps: |
47 | 41 | - uses: actions/checkout@v2 |
48 | 42 |
|
49 | | - - name: Run Mosquitto container with authenticated user |
50 | | - # Why don't to use a service for this (as moquitto-extra above)? It would be the desirable solution, but I haven't able to |
51 | | - # configure volumes properly for it (the mosquitto container as service has problems to get the configuration files). Feedback welcome! :) |
52 | | - run: docker run -d --name mosquitto -p 1883:1883 -v $(pwd)/test/functionalTest/mosquittoConf:/mosquitto/config:ro eclipse-mosquitto:2.0.11 |
53 | | - |
54 | | - - name: Run Extra Mosquitto container used in multibroker tests |
55 | | - # Note we are reusing the same volume (although the extra broker does not require authenticated user). We use a service in the past |
56 | | - # to implement this (using eclipse-mosquitto:1.6.15) but in eclipse-mosquitto:2.0.11 it seems something in the internal configuration |
57 | | - # has changed and it doesn't work if we don't provide the configuration files in the volume. Again, feedback is welcome! :) |
58 | | - run: docker run -d --name mosquitto-extra -p 1884:1883 -v $(pwd)/test/functionalTest/mosquittoConf:/mosquitto/config:ro eclipse-mosquitto:2.0.11 |
59 | | - |
60 | 43 | - name: Run functional test |
| 44 | + env: |
| 45 | + REPO_ACCESS_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }} |
| 46 | + FT_FROM_IX: ${{ matrix.batch.FT_FROM_IX }} |
| 47 | + FT_TO_IX: ${{ matrix.batch.FT_TO_IX }} |
| 48 | + CB_NO_CACHE: ${{ matrix.batch.CB_NO_CACHE }} |
| 49 | + TEST_IMAGE_NAME: ${{ env.TEST_IMAGE_NAME }} |
61 | 50 | run: | |
62 | | - docker run --network host -t --rm -e REPO_ACCESS_TOKEN=${{ secrets.REPO_ACCESS_TOKEN }} ${{ matrix.payload.range }} -v $(pwd):/opt/fiware-orion ${{ env.TEST_IMAGE_NAME }} build -miqts functional |
| 51 | + docker compose \ |
| 52 | + --project-name functional-${{ github.run_id }}-${{ strategy.job-index }} \ |
| 53 | + -f ./ci/deb/docker-compose-ci.yml -f ./ci/deb/docker-compose-ci.functional.yml \ |
| 54 | + --project-directory . \ |
| 55 | + up --build --abort-on-container-exit --exit-code-from tests \ |
| 56 | + --attach tests \ |
| 57 | + --no-log-prefix |
0 commit comments