diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml deleted file mode 100644 index 2e179aa664..0000000000 --- a/.github/workflows/benchmarks.yml +++ /dev/null @@ -1,39 +0,0 @@ -# Licensed under the Apache License, Version 2.0 or the MIT License. -# SPDX-License-Identifier: Apache-2.0 OR MIT -# Copyright Tock Contributors 2023. - -# This workflow calculates size diffs for the compiled binary of each supported tock board - -name: Benchmarks - -# Controls when the action will run. Triggers the workflow on pull request -# events but only for the master branch -on: - pull_request: - branches: master - -# 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 - -jobs: - benchmarks: - # The type of runner that the job will run on - runs-on: ubuntu-latest - - # Steps represent a sequence of tasks that will be executed as part of the job - steps: - - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.x' - - name: Install dependencies - run: | - python -m pip install --upgrade pip setuptools wheel - pip install --user cxxfilt - sudo apt install llvm - - name: size report - run: | - ./tools/github_actions_size_changes.sh diff --git a/.github/workflows/ci-nightly.yml b/.github/workflows/ci-nightly.yml deleted file mode 100644 index 46d25f08bd..0000000000 --- a/.github/workflows/ci-nightly.yml +++ /dev/null @@ -1,88 +0,0 @@ -# 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/labeler.yml b/.github/workflows/labeler.yml deleted file mode 100644 index d7d87957db..0000000000 --- a/.github/workflows/labeler.yml +++ /dev/null @@ -1,21 +0,0 @@ -# Licensed under the Apache License, Version 2.0 or the MIT License. -# SPDX-License-Identifier: Apache-2.0 OR MIT -# Copyright Tock Contributors 2023. - -name: "Pull Request Labeler" -on: -- pull_request_target - -permissions: - contents: read - -jobs: - triage: - permissions: - contents: read # for actions/labeler to determine modified files - pull-requests: write # for actions/labeler to add labels to PRs - runs-on: ubuntu-latest - steps: - - uses: actions/labeler@v4.3.0 - with: - repo-token: "${{ secrets.GITHUB_TOKEN }}" diff --git a/.github/workflows/mergequeue_docs.yml b/.github/workflows/mergequeue_docs.yml deleted file mode 100644 index 6cf8794b62..0000000000 --- a/.github/workflows/mergequeue_docs.yml +++ /dev/null @@ -1,34 +0,0 @@ -# Licensed under the Apache License, Version 2.0 or the MIT License. -# SPDX-License-Identifier: Apache-2.0 OR MIT -# Copyright Tock Contributors 2023. - -# Netlify's own CI builds both deploy previews for PRs, as well as the -# production deploy for the master branch. We use this workflow purely as we -# can't have Netlify build the wildcard gh-readonly-queue/* branches. This -# workflow thus ensures that docs build successfully (albeit not in the exact -# same environment as Netlify's). -# -# See issue #3428 for more information. - -name: docs-ci -env: - TERM: dumb # Identical to Netlify build environment - -on: - merge_group: - -permissions: - contents: read - -jobs: - ci-docs: - strategy: - matrix: - os: [ubuntu-latest] - runs-on: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v3 - - # This also sets up the rustup environment - name: ci-netlify-build - run: tools/netlify-build.sh diff --git a/.github/workflows/tockbot-nightly.yml b/.github/workflows/tockbot-nightly.yml deleted file mode 100644 index 158373505d..0000000000 --- a/.github/workflows/tockbot-nightly.yml +++ /dev/null @@ -1,134 +0,0 @@ -# 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: "Tockbot" - -on: - schedule: - - cron: "0 0 * * *" - workflow_dispatch: - inputs: - dispatch-job: - description: 'Which job to execute (choose between "all", "maint-nightly")' - required: true - default: 'all' - dry-run: - description: 'Whether to execute the jobs as dry-run' - required: true - default: true - -jobs: - dispatcher: - runs-on: ubuntu-latest - - # This job determines which other jobs should be run: - outputs: - run-maint-nightly: ${{ steps.dispatch-logic.outputs.run-maint-nightly }} - dry-run: ${{ steps.dispatch-logic.outputs.dry-run }} - - steps: - # On pushes we want to check whether any changes have been made - # to the Tockbot code base. Disabled for now: - - uses: actions/checkout@v4 - - # Dispatcher business logic: - - name: Dispatch Tockbot Jobs - id: dispatch-logic - env: - DISPATCH_JOB: ${{ github.event.inputs.dispatch-job }} - DISPATCH_DRY_RUN: ${{ github.event.inputs.dry-run }} - run: | - if [ "$GITHUB_EVENT_NAME" == "workflow_dispatch" ]; then - if [ "$DISPATCH_DRY_RUN" == "true" ]; then - echo "dry-run=true" >> $GITHUB_OUTPUT - elif [ "$DISPATCH_DRY_RUN" == "false" ]; then - echo "dry-run=false" >> $GITHUB_OUTPUT - else - echo "Error: dry-run not a boolean: \"$DISPATCH_DRY_RUN\"" >&2 - exit 1 - fi - - if [ "$DISPATCH_JOB" == "all" ]; then - echo "run-maint-nightly=true" >> $GITHUB_OUTPUT - elif [ "$DISPATCH_JOB" == "maint-nightly" ]; then - echo "run-maint-nightly=true" >> $GITHUB_OUTPUT - else - echo "Error: unknown job \"$DISPATCH_JOB\"" >&2 - exit 1 - fi - elif [ "$GITHUB_EVENT_NAME" == "pull_request" ]; then - echo "dry-run=true" >> $GITHUB_OUTPUT - echo "run-maint-nightly=true" >> $GITHUB_OUTPUT - elif [ "$GITHUB_EVENT_NAME" == "schedule" ]; then - echo "dry-run=false" >> $GITHUB_OUTPUT - echo "run-maint-nightly=true" >> $GITHUB_OUTPUT - else - echo "Error: unknown event name \"$GITHUB_EVENT_NAME\"" >&2 - exit 1 - fi - - maint-nightly: - runs-on: ubuntu-latest - - # Only run this job if the dispatcher determined to schedule the - # "maint-nightly" or "dry-run" jobs: - needs: dispatcher - if: ${{ needs.dispatcher.outputs.run-maint-nightly == 'true' && needs.dispatcher.outputs.dry-run != 'true' }} - - permissions: - # Give GITHUB_TOKEN write permissions to modify PRs and issues: - pull-requests: write - issues: write - - steps: - # Requires a tock checkout to run from: - - uses: actions/checkout@v4 - - # Setup Python and install dependencies: - - uses: actions/setup-python@v5 - - name: Install Python Dependencies - run: pip install -r tools/tockbot/requirements.txt - - # Run nightly tockbot maintenance: - - name: Nightly Tockbot Maintenance - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DRY_RUN: ${{ needs.dispatcher.outputs.dry-run == 'true' && '-n' || '' }} - run: | - cd tools/tockbot/ - ./tockbot.py -v $DRY_RUN maint-nightly -c ./maint_nightly.yaml - - # We'd like to avoid duplicating this, either by using conditionals in the - # permissions key, or by using YAML anchors, neither of which are supported by - # GH Actions... - maint-nightly-dry-run: - runs-on: ubuntu-latest - - # Only run this job if the dispatcher determined to schedule the - # "maint-nightly" or "dry-run" jobs: - needs: dispatcher - if: ${{ needs.dispatcher.outputs.run-maint-nightly == 'true' && needs.dispatcher.outputs.dry-run == 'true' }} - - permissions: - # Dry-run, read-only access: - pull-requests: read - issues: read - - steps: - # Requires a tock checkout to run from: - - uses: actions/checkout@v4 - - # Setup Python and install dependencies: - - uses: actions/setup-python@v5 - - name: Install Python Dependencies - run: pip install -r tools/tockbot/requirements.txt - - # Run nightly tockbot maintenance: - - name: Nightly Tockbot Maintenance - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DRY_RUN: ${{ needs.dispatcher.outputs.dry-run == 'true' && '-n' || '' }} - run: | - cd tools/tockbot/ - ./tockbot.py -v $DRY_RUN maint-nightly -c ./maint_nightly.yaml