Skip to content

Commit

Permalink
Merge branch 'main' into pr1
Browse files Browse the repository at this point in the history
  • Loading branch information
igorpecovnik authored Nov 9, 2024
2 parents 28d4329 + ed57514 commit b9ad9d2
Show file tree
Hide file tree
Showing 2,577 changed files with 238,806 additions and 253,690 deletions.
177 changes: 101 additions & 76 deletions .github/CODEOWNERS

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@
#
# Please keep the labels sorted and deduplicated.

"Needs review":
- changed-files:
- any-glob-to-any-file: '**'

"Hardware":
- all:
- changed-files:
Expand Down
3 changes: 0 additions & 3 deletions .github/labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,3 @@
- name: "Improper usage"
color: "CD456C"
description: "Provided input is not in the expected data format or structure"
- name: "Giveaway"
color: "DA4C13"
description: "Code completition was selected to enter contributors giveaway"
128 changes: 128 additions & 0 deletions .github/workflows/adjust-maintainers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
name: "Sync maintainers status"

# Script connects to the contacts database once per hour and updates BOARD_MAINTAINER property in the board config files.
# If there are any changes, it opens a Pull Request
#
# spdx-id: GPL-2.0-or-later
# copyright-owner: @igorpecovnik

# Dependencies: lftp, jq

on:
schedule:
- cron: "0 * * * *"
workflow_dispatch:

jobs:

Build:
name: "Maintainers sync"
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'armbian' }}
steps:

- name: "Checkout build repo"
uses: actions/checkout@v4
with:
repository: armbian/build
ref: main
fetch-depth: 0
clean: false

- name: "Install SSH key for storage"
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.KEY_UPLOAD }}
known_hosts: ${{ secrets.KNOWN_HOSTS_ARMBIAN_UPLOAD }}
if_key_exists: replace

- name: "Install dependencies"
run: |
sudo apt-get -y -qq install jq
- name: "Download JSON file"
run: |
# download json that is prepared for this action in another cron job
rsync -e "ssh -p ${{ secrets.HOST_UPLOAD_PORT }}" -arvc ${{ secrets.HOST_UPLOAD_USER }}@${{ secrets.HOST_UPLOAD }}:/incoming/json/armbian_maintainers.json /tmp/
- name: "Update maintainers"
run: |
# reset all maintainers so we generate from scratch
sed -i "s/BOARD_MAINTAINER.*/BOARD_MAINTAINER=\"\"/" config/boards/*.{conf,wip,eos,tvb}
# extract values fron JSON
declare -A MAINTAINERS
{
# By default, bash run the pipe command in subshells
# which make variable can't be assigned to.
# And yes, lastpipe can solve it
# But this is better.
while read -r i; do
NAME="$(echo "$i" | jq --raw-output '.First_Name')"
BOARD="$(echo "$i" | jq --raw-output '.Maintaining')"
MAINTAINER_GITHUB="$(echo "$i" | jq --raw-output '.Github' | cut -d"/" -f4)"
if [[ "$BOARD" != null && "$MAINTAINER_GITHUB" != null ]]; then
echo "- [$NAME](https://github.com/${MAINTAINER_GITHUB})"
while read -r i; do
echo -e " - $i"
MAINTAINERS["$i"]+="$MAINTAINER_GITHUB "
done < <( echo "$BOARD" | sed "s/,/\n/g" | sort -u )
fi
done < <(jq -c '.[]' /tmp/armbian_maintainers.json)
for cfg in config/boards/*.{conf,wip,csc,eos,tvb}; do
board_name="$(echo "${cfg##*/}" | sed -E 's/\..*//')"
declare -a maintainers
readarray -t maintainers < <(echo "${MAINTAINERS[${board_name}]}" | xargs -n1 | sort -u)
sed -i "s/BOARD_MAINTAINER=.*/BOARD_MAINTAINER=\"${maintainers[*]}\"/" "${cfg}"
done
} >> "$GITHUB_STEP_SUMMARY"
- name: "Mark csc for no maintainer"
run: |
grep BOARD_MAINTAINER=\"\" config/boards/*.{wip,conf} | cut -d":" -f1 |
while read -r line; do
if [[ "${line}" != "${line/.conf/.csc}" ]]; then
mv -v "$line" "${line/.conf/.csc}"
fi
if [[ "${line}" != "${line/.wip/.csc}" ]]; then
mv -v "$line" "${line/.wip/.csc}"
fi
done
- name: "Re-generate CODEOWNERS"
run: |
./.github/generate_CODEOWNERS.sh
- name: Create Pull Request
id: cpr
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
commit-message: '`Automatic` board configs status synchronise'
signoff: false
branch: update-maintainers
delete-branch: true
title: '`Automatic` board configs status synchronise'
body: |
Update maintainers and board status
- synced status from the database
- rename to .`csc` where we don't have anyone
If you want to become a board maintainer, [adjust data here](https://www.armbian.com/update-data/).
Ref:
- [Board Maintainers Procedures and Guidelines](https://docs.armbian.com/Board_Maintainers_Procedures_and_Guidelines/)
- [Contribute](https://docs.armbian.com/Process_Contribute/)
labels: |
Needs review
#assignees: igorpecovnik
#reviewers: Must be org collaborator
draft: false
21 changes: 0 additions & 21 deletions .github/workflows/build-board-list.yml

This file was deleted.

22 changes: 0 additions & 22 deletions .github/workflows/build-train.yml

This file was deleted.

27 changes: 27 additions & 0 deletions .github/workflows/clean-workflow-logs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Clean Workflow Logs

on:
schedule:
- cron: "0 0 * * 1" # Runs "At 00:00 on Monday." (see https://crontab.guru)

workflow_dispatch:
inputs:
runs_older_than:
description: "The amount of days old to delete"
default: "21"
required: false

env:
SCHEDULED_RUNS_OLDER_THAN: "21"
SCHEDULED_RUNS_TO_KEEP: "0"

jobs:
clean-logs:
runs-on: ubuntu-latest
permissions:
actions: write
steps:
- uses: igorjs/gh-actions-clean-workflow@v6
with:
runs_older_than: ${{ github.event.inputs.runs_older_than || env.SCHEDULED_RUNS_OLDER_THAN }}
runs_to_keep: ${{ github.event.inputs.runs_to_keep || env.SCHEDULED_RUNS_TO_KEEP }}
18 changes: 8 additions & 10 deletions .github/workflows/forked-helper.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,18 @@ on:
workflow_dispatch:

jobs:
fork-repository-dispatch:
name: 📢 Run repository dispatch to default fork branch
if: ${{ github.repository_owner != 'armbian' }}
dispatch-on-forked-repo:
name: 📢 Run repository dispatch on fork
env:
DISPATCH_SECRET: ${{ secrets.ARMBIAN_SELF_DISPATCH_TOKEN }}
if: ${{ github.repository_owner != 'armbian' }} # Run only on forks
runs-on: ubuntu-latest
steps:
- name: Assign secret
id: get_dispatch_secret
run: echo "dispatch_secret=${{ secrets.ARMBIAN_SELF_DISPATCH_TOKEN }}" >> $GITHUB_OUTPUT

- name: Dispatch event on forked repostitory
if: steps.get_dispatch_secret.outputs.dispatch_secret
- name: Dispatch event on forked repository
if: ${{ env.DISPATCH_SECRET != '' }} # Check that the secret has been set, if not, exit
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ steps.get_dispatch_secret.outputs.dispatch_secret }}
token: ${{ env.DISPATCH_SECRET }}
repository: ${{ github.repository }}
event-type: armbian
client-payload: >
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/issue-welcome-first-time.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: "Welcome first-time issue contributor"

on:
issues:
types: opened

jobs:
welcome-first-time-contributor:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: plbstl/first-contribution@v3
with:
labels: "Good first issue"
issue-opened-msg: |
### Hey @{fc-author} !
Looks like it's your first time interacting with Armbian here on GitHub.
Welcome and thank you for taking the time to report an issue :heart:.
Don't forget to star :star: the repo.
2 changes: 1 addition & 1 deletion .github/workflows/merge-announce.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: push
name: "Announce PR merge to Discord"

on:
push:
Expand Down
14 changes: 9 additions & 5 deletions .github/workflows/pr-announce.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
name: "Announce PR on Discord for review"
run-name: 'Announce PR #${{ github.event.pull_request.number }} on Discord for review'

on:
pull_request:
types: [ opened ]
branches: [ main ]
types: [ labeled ]

jobs:
build:
name: "Announce PR on Discord"
Announce:
permissions:
pull-requests: read

runs-on: ubuntu-latest
if: github.repository == 'armbian/build'
if: ${{ github.repository == 'armbian/build' && github.event.label.id == '6210849975' }}
steps:
- name: Get repo
uses: actions/checkout@v4
Expand Down
22 changes: 19 additions & 3 deletions .github/workflows/pr-auto-labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,31 @@ run-name: 'Set labels - PR #${{ github.event.pull_request.number }} ("${{ github
# Set labels for pull requests automatically based on size (modified via job 'label-size') and file categories (modified via .github/labeler)
#

on:
- pull_request_target
on: pull_request_target

jobs:
label-remove:
permissions:
contents: read # for pascalgn/size-label-action to determine modified files
pull-requests: write # for pascalgn/size-label-action to add labels to PRs
name: "Remove Ready to merge"
if: ${{ github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize' }}
runs-on: ubuntu-latest

steps:
- uses: PauMAVA/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
add: ""
remove: "Ready to merge"

label-category:
permissions:
contents: read # for actions/labeler to determine modified files
pull-requests: write # for actions/labeler to add labels to PRs

name: "Category labels"
if: ${{ github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize' }}
runs-on: ubuntu-latest

steps:
Expand All @@ -28,11 +43,12 @@ jobs:
pull-requests: write # for pascalgn/size-label-action to add labels to PRs

name: "Size label"
if: ${{ github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'synchronize' }}
runs-on: ubuntu-latest

steps:
- name: size-label
uses: "pascalgn/[email protected].2"
uses: "pascalgn/[email protected].5"
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
with:
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/pr-build-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,20 @@ run-name: "Generate artifacts - PR #${{ github.event.pull_request.number }} - by
# In the run name, ${{ github.actor }} shows who's privileges are used for this run.
#

on:
pull_request:
types: [opened, reopened, synchronize, labeled]
on: pull_request_target

jobs:
Check:
permissions:
pull-requests: read

name: Check label and authorization
if: contains(github.event.pull_request.labels.*.name, 'Build')
name: Check label and authorization
runs-on: Linux
outputs:
member: ${{ steps.checkUserMember.outputs.isTeamMember }}
steps:
- uses: tspascoal/get-user-teams-membership@v3
if: contains(github.event.pull_request.labels.*.name, 'Build')
id: checkUserMember
with:
username: ${{ github.actor }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pr-kernel-security-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:

- name: Get changed files
id: changed-files
uses: tj-actions/changed-files@v44
uses: tj-actions/changed-files@v45

- name: Checkout repository
uses: actions/checkout@v4
Expand Down
Loading

0 comments on commit b9ad9d2

Please sign in to comment.