MQTT: add test projects, to be later included in automated testing.
name: CI Automated testing
on:
push:
branches: [ python3 ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
path: beremiz
- uses: actions/checkout@v3
with:
repository: beremiz/matiec
ref: d3196244bf50b2d6d512a0240e10dfa75edbeb7b
path: matiec
- uses: actions/checkout@v3
with:
repository: open62541/open62541
# v1.3.7
ref: b8ac9e77f703e6ba5c012b886a8821037503daa6
path: open62541
submodules: recursive
- uses: actions/checkout@v3
with:
repository: beremiz/Modbus
ref: 4d7d67a8e911d744165709c20a254b5cb924ec71
path: Modbus
- uses: actions/checkout@v3
with:
repository: EmbeddedRPC/erpc
# v1.12.0
ref: 85d3dd8656ccce4c2d929a69484fb8d88ec6c6c3
path: erpc
- name: Restore cached docker image
id: cache-docker-restore
uses: actions/cache/restore@v3
env:
cache-name: cache-docker
with:
path: /tmp/latest.tar
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('beremiz/tests/tools/Docker', 'beremiz/requirements.txt') }}
- if: ${{ steps.cache-docker-restore.outputs.cache-hit == false }}
name: Create docker image
run: |
cd beremiz/tests/tools/Docker
./build_docker_image.sh
docker image save --output="/tmp/latest.tar" beremiz_sikuli
- if: ${{ steps.cache-docker-restore.outputs.cache-hit == false }}
name: Save docker image in cache
id: cache-docker-save
uses: actions/cache/save@v3
with:
path: /tmp/latest.tar
key: ${{ steps.cache-docker-restore.outputs.cache-primary-key }}
- if: ${{ steps.cache-docker-restore.outputs.cache-hit != false }}
name: Re-use docker image
run: |
docker image load --input="/tmp/latest.tar"
- name: Create docker container
run: |
cd beremiz/tests/tools/Docker
./create_docker_container.sh ${{ github.workspace }}/test
- name: Run tests in docker
run: |
cd beremiz/tests/tools/Docker
./do_test_in_docker.sh
- name: Upload test resuts artifact
uses: actions/upload-artifact@v3
if: failure()
with:
name: test_results
path: ${{ github.workspace }}/test
retention-days: 5