Skip to content

Add I/O read per second, fix bug sizing of io overview #61

Add I/O read per second, fix bug sizing of io overview

Add I/O read per second, fix bug sizing of io overview #61

Workflow file for this run

name: Release
on:
workflow_dispatch:
inputs:
version_type:
description: 'Version bump type'
required: true
type: choice
options:
- patch
- minor
- major
pull_request:
types: [closed]
branches:
- main
env:
TARGET_KERNEL_BASE: 6.8.0
jobs:
prepare_release:
if: |
github.event_name == 'workflow_dispatch' ||
(github.event.pull_request.merged == true &&
!contains(github.event.pull_request.labels.*.name, 'not-a-release') &&
(contains(github.event.pull_request.labels.*.name, 'release:major') ||
contains(github.event.pull_request.labels.*.name, 'release:minor') ||
contains(github.event.pull_request.labels.*.name, 'release:patch')))
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
outputs:
release_tag: ${{ steps.new_version.outputs.tag }}
release_version: ${{ steps.new_version.outputs.version }}
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Validate release labels
if: github.event_name == 'pull_request'
env:
RELEASE_MAJOR: ${{ contains(github.event.pull_request.labels.*.name, 'release:major') }}
RELEASE_MINOR: ${{ contains(github.event.pull_request.labels.*.name, 'release:minor') }}
RELEASE_PATCH: ${{ contains(github.event.pull_request.labels.*.name, 'release:patch') }}
run: |
bash .github/scripts/release/validate-release-labels.sh
- name: Determine version bump type
id: version_type
env:
EVENT_NAME: ${{ github.event_name }}
INPUT_VERSION_TYPE: ${{ inputs.version_type }}
RELEASE_MAJOR: ${{ contains(github.event.pull_request.labels.*.name, 'release:major') }}
RELEASE_MINOR: ${{ contains(github.event.pull_request.labels.*.name, 'release:minor') }}
RELEASE_PATCH: ${{ contains(github.event.pull_request.labels.*.name, 'release:patch') }}
run: |
bash .github/scripts/release/determine-version-type.sh
- name: Get current version
id: current_version
run: |
bash .github/scripts/release/get-current-version.sh
- name: Calculate new version
id: new_version
env:
CURRENT_VERSION: ${{ steps.current_version.outputs.version }}
VERSION_TYPE: ${{ steps.version_type.outputs.type }}
run: |
bash .github/scripts/release/calculate-new-version.sh
- name: Create release notes
env:
VERSION: ${{ steps.new_version.outputs.version }}
BUMP_TYPE: ${{ steps.version_type.outputs.type }}
EVENT_NAME: ${{ github.event_name }}
run: |
bash .github/scripts/release/create-release-notes.sh
- name: Upload release metadata
uses: actions/upload-artifact@v4
with:
name: release-metadata
path: /tmp/release_notes.md
if-no-files-found: error
build_binaries:
needs: prepare_release
strategy:
fail-fast: false
matrix:
include:
- arch: amd64
runner: ubuntu-24.04
- arch: arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential linux-headers-generic
- name: Build binaries for target kernel
env:
TARGET_ARCH: ${{ matrix.arch }}
RELEASE_TAG: ${{ needs.prepare_release.outputs.release_tag }}
run: |
bash .github/scripts/release/build-target-binaries.sh
- name: Upload architecture binaries
uses: actions/upload-artifact@v4
with:
name: binaries-${{ matrix.arch }}
path: out/${{ matrix.arch }}/*
if-no-files-found: error
publish_release:
needs:
- prepare_release
- build_binaries
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Git
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
- name: Download build artifacts
uses: actions/download-artifact@v4
with:
path: dist/artifacts
- name: Create bundled binary package
id: package
env:
RELEASE_TAG: ${{ needs.prepare_release.outputs.release_tag }}
RELEASE_VERSION: ${{ needs.prepare_release.outputs.release_version }}
run: |
bash .github/scripts/release/create-bundle-package.sh
- name: Create and push tag
env:
TAG: ${{ needs.prepare_release.outputs.release_tag }}
run: |
bash .github/scripts/release/create-and-push-tag.sh
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ needs.prepare_release.outputs.release_tag }}
name: Release ${{ needs.prepare_release.outputs.release_tag }}
body_path: dist/artifacts/release-metadata/release_notes.md
files: |
${{ steps.package.outputs.archive_path }}
${{ steps.package.outputs.checksum_path }}
draft: false
prerelease: false