Skip to content

Commit

Permalink
DO-NOT-MERGE: mptcp: add GitHub Actions
Browse files Browse the repository at this point in the history
Currently supported:

- irc: send notifications to the IRC channel

Signed-off-by: Matthieu Baerts <[email protected]>
  • Loading branch information
matttbe authored and jenkins-tessares committed Mar 27, 2021
1 parent 0ba0215 commit 5a0c80d
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 0 deletions.
48 changes: 48 additions & 0 deletions .github/workflows/build-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: "MPTCP Upstream Build Validation"
on:
push:
branches:
- export
- refs/tags/patchew/*

jobs:
build:
name: "Build (matrix)"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
defconfig: ['x86_64', 'i386']
ipv6: ['with_ipv6', 'without_ipv6']
mptcp: ['with_mptcp', 'without_mptcp']
steps:
- name: "Checkout"
uses: actions/checkout@v2
with:
fetch-depth: 100 # we should not have more commits on top of net-next/export
- name: "Setup cache for CCache"
uses: actions/cache@v2
with:
path: ${{ github.workspace }}/.ccache
key: ${{ runner.os }}-build-${{ matrix.defconfig }}-${{ matrix.ipv6 }}-${{ matrix.mptcp }}-${{ github.run_id }}-${{ github.sha }}
restore-keys: ${{ runner.os }}-build-${{ matrix.defconfig }}-${{ matrix.ipv6 }}-${{ matrix.mptcp }}-
- name: "Build Validation"
uses: multipath-tcp/mptcp-upstream-validate-export-action@main
with:
each_commit: true
ccache_maxsize: 620M ## 5/2^3=625: 5GB = project limit ; 2^3 = matrix
defconfig: ${{ matrix.defconfig }}
ipv6: ${{ matrix.ipv6 }}
mptcp: ${{ matrix.mptcp }}
notif:
name: "IRC Notif"
needs: build
if: ${{ always() }} && github.repository_owner == 'multipath-tcp'
runs-on: ubuntu-latest
steps:
- name: "IRC notification"
uses: rectalogic/notify-irc@v1
with:
channel: "#MPTCPUpstream"
nickname: gh-build-bot
message: "New build validating ${{ github.ref }} ended with ${{ needs.build.result }} (started by ${{ github.actor }}): https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
30 changes: 30 additions & 0 deletions .github/workflows/irc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: "IRC Notifications"
on:
create:
issues:
types: [opened, reopened, closed, assigned, unassigned]

jobs:
irc:
if: github.repository_owner == 'multipath-tcp'
runs-on: ubuntu-latest
steps:
- name: irc tag
uses: rectalogic/notify-irc@v1
if: github.event_name == 'create' && github.event.ref_type == 'tag'
with:
channel: "#MPTCPUpstream"
nickname: gh-tag-bot
message: "New tag available: ${{ github.event.ref }} (by ${{ github.actor }})"
- name: irc issues
uses: rectalogic/notify-irc@v1
if: github.event_name == 'issues'
with:
channel: "#MPTCPUpstream"
nickname: gh-issues-bot
message: |
Issue #${{ github.event.issue.number }} has been ${{ github.event.action }} by ${{ github.actor }}.
Issue title: "${{ github.event.issue.title }}"
Issue opened by: ${{ github.event.issue.user.login }}
Assignee (if any): ${{ github.event.assignee.login }}
URL: ${{ github.event.issue.html_url }}
31 changes: 31 additions & 0 deletions .github/workflows/update-tg-tree.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: "Update TopGit tree"

on:
workflow_dispatch:
inputs:
keep_base_untouched:
description: 'Set it to 1 to force a sync without updating the base from upstream'
required: true
default: '0'
force_sync:
description: 'Set it to 1 to force a sync even if net-next is not updated'
required: true
default: '0'

schedule:
- cron: '33 5 * * *' # in UTC: after US West coast's work day

jobs:
export:
if: false && github.repository_owner == 'multipath-tcp'
runs-on: ubuntu-latest
steps:
- name: "Checkout"
uses: actions/checkout@v2
with:
fetch-depth: 0 # we need all commits for TopGit
- name: "Update TG tree"
uses: multipath-tcp/mptcp-upstream-topgit-action@main
with:
not_base: "${{ github.event.inputs.keep_base_untouched || '0' }}"
force_sync: "${{ github.event.inputs.force_sync || '0' }}"

0 comments on commit 5a0c80d

Please sign in to comment.