feat(ci): fix bugs with update backporting, add weekly mode, remove f39, add el10 (#2610)

This commit is contained in:
madonuko
2024-12-15 01:10:36 +08:00
parent b794b97c41
commit 12f1478284
6 changed files with 122 additions and 11 deletions
+1
View File
@@ -55,6 +55,7 @@ jobs:
- name: Checkout latest Mock configs
uses: actions/checkout@v4
with:
fetch-depth: 0
repository: terrapkg/mock-configs
path: mock-configs
+54
View File
@@ -0,0 +1,54 @@
name: Update per branch
on:
schedule:
- cron: "*/30 * * * *"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
strategy:
matrix:
branch:
- frawhide
- f40
- f41
- el10
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: |
nbranch="${{ matrix.branch }}"
[ "$nbranch" = 'frawhide' ] && nbranch='f42'
anda update -vv --filters updbranch=1 --labels branch=${{ matrix.branch }},nbranch=$nbranch
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(branch): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git push -u origin --all
fi
+5 -1
View File
@@ -3,6 +3,9 @@ name: Push comps updates
on:
push:
branches:
- frawhide
- f41
- f40
- el10
paths:
- comps.xml
@@ -18,7 +21,8 @@ jobs:
- name: Push to subatomic
run: |
branch=${{ github.ref_name }}
ver=${branch/f/}
subatomic-cli upload-comps \
--server https://subatomic.fyralabs.com \
--token ${{ secrets.SUBATOMIC_TOKEN }} \
"terra${branch}" comps.xml
"terra${ver}" comps.xml
+5 -5
View File
@@ -25,9 +25,10 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Nightly Update
run: anda update -vv --filters nightly=1
run: anda update -v --filters nightly=1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
@@ -38,16 +39,15 @@ jobs:
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(nightly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
git format-patch HEAD^
git checkout $1
git apply *.patch || true
rm *.patch
git add *
git add anda
git commit -S -a -m "$msg"
}
copy_over f39 || true
copy_over f40 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
+53
View File
@@ -0,0 +1,53 @@
name: Weekly Update
on:
schedule:
- cron: "0 0 * * 0"
workflow_dispatch:
jobs:
autoupdate:
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}
- name: Install SSH signing key & Set up git repository
run: |
mkdir -p ${{ runner.temp }}
echo "${{ secrets.SSH_SIGNING_KEY }}" > ${{ runner.temp }}/signing_key
chmod 0700 ${{ runner.temp }}/signing_key
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Weekly Update
run: anda update -v --filters weekly=1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
RUST_BACKTRACE: full
- name: Save
run: |
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "raboneko@fyralabs.com"
git config gpg.format "ssh"
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump(weekly): $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
git checkout $1
git apply *.patch || true
git add anda
git commit -S -a -m "$msg"
}
copy_over f40 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
+4 -5
View File
@@ -25,7 +25,7 @@ jobs:
git config --global --add safe.directory "$GITHUB_WORKSPACE"
- name: Run Update
run: anda update -vv --filters nightly=0
run: anda update -v --excludes nightly=1 --excludes weekly=1 --excludes updbranch=1
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
RUST_BACKTRACE: full
@@ -39,16 +39,15 @@ jobs:
git config user.signingkey "${{ runner.temp }}/signing_key"
msg="bump: $(git status | grep modified | sed -r 's@.+/([^/]+)/[^/]+\n?@\1 @g' | tr -d '\n')"
git commit -S -a -m "$msg"
git format-patch HEAD^
copy_over () {
git format-patch HEAD^
git checkout $1
git apply *.patch || true
rm *.patch
git add *
git add anda
git commit -S -a -m "$msg"
}
copy_over f39 || true
copy_over f40 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi