diff --git a/.github/workflows/ci-nightly.yml b/.github/workflows/ci-nightly.yml new file mode 100644 index 0000000000..81abef625d --- /dev/null +++ b/.github/workflows/ci-nightly.yml @@ -0,0 +1,88 @@ +# Licensed under the Apache License, Version 2.0 or the MIT License. +# SPDX-License-Identifier: Apache-2.0 OR MIT +# Copyright Tock Contributors 2024. + +name: tock-nightly-ci + +on: + schedule: + - cron: "0 0 * * *" + +env: + TERM: xterm # Makes tput work in actions output + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +# If you add additional jobs, remember to add them to bors.toml +permissions: + contents: read + issues: write + +jobs: + ci-build: + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v3 + + - name: ci-job-syntax + run: make ci-job-syntax + - name: ci-job-compilation + run: make ci-job-compilation + - name: ci-job-debug-support-targets + run: make ci-job-debug-support-targets + + - name: ci-job-collect-artifacts + run: make ci-job-collect-artifacts + - name: upload-build-artifacts + uses: actions/upload-artifact@v3 + with: + name: build-artifacts + path: tools/ci-artifacts + + ci-tests: + strategy: + matrix: + os: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} + + steps: + - name: Update package repositories + run: | + sudo apt update + if: matrix.os == 'ubuntu-latest' + - name: Install dependencies for ubuntu-latest + run: | + sudo apt install libudev-dev libzmq3-dev + if: matrix.os == 'ubuntu-latest' + - name: Install dependencies for macos-latest + run: | + brew install zeromq + if: matrix.os == 'macos-latest' + - uses: actions/checkout@v3 + - name: ci-job-libraries + run: make ci-job-libraries + - name: ci-job-archs + run: make ci-job-archs + - name: ci-job-kernel + run: make ci-job-kernel + - name: ci-job-chips + run: make ci-job-chips + - name: ci-job-tools + run: make ci-job-tools + - name: Create Issue on Failed workflow + if: ${{ failure() }} + uses: dacbd/create-issue-action@main + with: + token: ${{ github.token }} + title: Nightly CI failed + body: | + ### Context + [Failed Run](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}) + [Codebase](https://github.com/${{ github.repository }}/tree/${{ github.sha }}) + Workflow name - `${{ github.workflow }}` + Job - `${{ github.job }}` + status - `${{ job.status }}` + assignees: @tock/core-wg diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a1e747e037..bdd1915e5f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -55,7 +55,7 @@ jobs: ci-build: strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: @@ -79,7 +79,7 @@ jobs: ci-tests: strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: @@ -91,10 +91,6 @@ jobs: run: | sudo apt install libudev-dev libzmq3-dev if: matrix.os == 'ubuntu-latest' - - name: Install dependencies for macos-latest - run: | - brew install zeromq - if: matrix.os == 'macos-latest' - uses: actions/checkout@v3 - name: ci-job-libraries run: make ci-job-libraries