diff --git a/.github/workflows/cron-ci.yml b/.github/workflows/cron-ci.yml new file mode 100644 index 00000000..f7211fcf --- /dev/null +++ b/.github/workflows/cron-ci.yml @@ -0,0 +1,49 @@ +name: cron-ci + +on: + schedule: + - cron: '0 0 1 * *' + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python 3.x + uses: actions/setup-python@v2 + with: + python-version: "3.x" + architecture: "x64" + - name: Install Arduino + run: bash ./.github/ci/install-arduino.sh + - name: Install platformIO + run: bash ./.github/ci/install-platformio.sh + - name: Install ESP8266 + run: bash ./.github/ci/install-esp8266.sh + - name: Install ESP32 + run: bash ./.github/ci/install-esp32.sh + - name: Setup libraries + run: bash ./.github/ci/prepare-libs.sh + - name: Build ESP8266 arduino + id: esp8266_1 + run: bash ./.github/ci/build-esp3d.sh esp8266 arduino + continue-on-error: true + - name: Build ESP32 arduino + id: esp32_1 + run: bash ./.github/ci/build-esp3d.sh esp32 arduino + continue-on-error: true + - name: Build platformIO + id: pio_1 + run: bash ./.github/ci/build-esp3d.sh esp32 pio + continue-on-error: true + - name: Final check + env: + STEPS_CONTEXT: ${{ toJson(steps) }} + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + if: steps.esp8266_1.outcome == 'failure' || steps.esp32_1.outcome == 'failure' + run: bash ./.github/ci/final-check.sh "cron-ci $GITHUB_RUN_ID" "failure" + - name: Final confirmation + env: + DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} + if: steps.esp8266_1.outcome == 'success' && steps.esp32_1.outcome == 'success' + run: bash ./.github/ci/final-check.sh "cron-ci $GITHUB_RUN_ID" "success"