diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..9216a89 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,73 @@ +name: build + +on: + push: + paths-ignore: + - '**/*.md' + workflow_dispatch: + schedule: + # Once in week 3:33 on Sunday (0 and 7 are Sunday) + - cron: '33 3 * * 0' + +# This allows a subsequently queued workflow run to interrupt previous runs +concurrency: + group: pep-build-${{ github.event.pull_request.head.label || github.head_ref || github.ref }} + cancel-in-progress: true + +jobs: + pep-build: + runs-on: ubuntu-latest + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + steps: + - uses: actions/checkout@v4 + - name: Install docker-compose + run: | + sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose + sudo chmod +x /usr/local/bin/docker-compose + dver=$(docker-compose version) + echo "$dver" + echo "$dver" >> $GITHUB_STEP_SUMMARY + - uses: actions/checkout@v4 + with: + repository: 'PelionIoT/factory-tool' + token: ${{ secrets.ACCESS_TOKEN }} + path: 'fcu_config' + - name: Configure fcu + run: | + cd fcu_config + echo "${{ secrets.FCU_KEYS_TAR_GZ_B64 }}" > fcu_keys.tar.gz.b64 + base64 -d fcu_keys.tar.gz.b64 > fcu_keys.tar.gz + tar -xzf fcu_keys.tar.gz + mv keystore/BootstrapDeviceCert.der . + mv keystore/BootstrapDevicePrivateKey.der . + mv keystore/update-auth-certificate.der . + - name: Create the factory_configurator_utility.zip (as the repo does not have it) + run: | + cd fcu_config + mkdir config + cp fcu.yml config/fcu.yml + zip -r factory_configurator_utility.zip config fcu resources ft_demo + + - name: Build + run: docker-compose build --build-arg fcu_config=fcu_config + - name: Start the docker + run: docker-compose up & + - name: Check the processes + run: | + procs=$(docker-compose ps) + echo "# docker-compose ps:" >> $GITHUB_STEP_SUMMARY + echo $procs >> $GITHUB_STEP_SUMMARY + - name: Get the logs + run: | + logs=$(docker-compose logs) + echo "# docker-compose logs:" >> $GITHUB_STEP_SUMMARY + echo $logs >> $GITHUB_STEP_SUMMARY + - name: Inspect mongo db volume + run: | + mong=$(docker volume inspect pelion-edge-provisioner_mongo_data) + echo "# docker volume inspect pelion-edge-provisioner_mongo_data:" >> $GITHUB_STEP_SUMMARY + echo $mong >> $GITHUB_STEP_SUMMARY + - name: Stop the container + run: docker-compose down +