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: e5be6a1f036d21cd7b5ee75ef352783a7cfcc1a7 path: matiec - uses: actions/checkout@v3 with: repository: open62541/open62541 ref: v1.3.6 path: open62541 submodules: recursive - uses: actions/checkout@v3 with: repository: beremiz/Modbus ref: 4d7d67a8e911d744165709c20a254b5cb924ec71 path: Modbus - 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