Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix flux ci #3

Merged
merged 10 commits into from
Oct 4, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# 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
88 changes: 88 additions & 0 deletions .github/workflows/ci-nightly.yml
Original file line number Diff line number Diff line change
@@ -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
126 changes: 126 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# 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 contains all tock-ci, separated into jobs

name: tock-ci
env:
TERM: xterm # Makes tput work in actions output

# Controls when the action will run. Triggers the workflow on push or pull request
# events but only for the master branch
on:
push: # Run CI for all branches except GitHub merge queue tmp branches
branches-ignore:
- "gh-readonly-queue/**"
pull_request: # Run CI for PRs on any branch
merge_group: # Run CI for the GitHub merge queue

# 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:
ci-format:
strategy:
matrix:
os: [ubuntu-latest]
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
- name: ci-job-format
run: make ci-job-format
- name: ci-job-markdown-toc
run: make ci-job-markdown-toc
- name: ci-job-readme-check
run: make ci-job-readme-check

ci-clippy:
strategy:
matrix:
os: [ubuntu-latest]
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v3
- name: ci-job-clippy
run: make ci-job-clippy

ci-build:
strategy:
matrix:
os: [ubuntu-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]
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'
- 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-capsules
run: make ci-job-capsules
- name: ci-job-chips
run: make ci-job-chips
- name: ci-job-tools
run: make ci-job-tools
- name: ci-job-cargo-test-build
run: make ci-job-cargo-test-build

ci-qemu:
strategy:
matrix:
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}

steps:
- name: Update package repositories
run: |
sudo apt update
- name: Install dependencies
continue-on-error: true
run: |
sudo apt install meson
- uses: actions/checkout@v3
- name: ci-job-qemu
run: make ci-job-qemu
21 changes: 21 additions & 0 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# 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/[email protected]
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
Loading
Loading