Skip to content

Commit

Permalink
feat(ci): fix bugs with update backporting, add weekly mode, remove f…
Browse files Browse the repository at this point in the history
…39, add el10 (#2610)
  • Loading branch information
madonuko committed Dec 14, 2024
1 parent 6dc1357 commit 5d7b332
Show file tree
Hide file tree
Showing 7 changed files with 131 additions and 26 deletions.
3 changes: 2 additions & 1 deletion .github/workflows/autobuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
fail-fast: false
runs-on: ${{ matrix.pkg.arch == 'aarch64' && 'ARM64' || matrix.pkg.labels['large'] && 'x86-64-lg' || 'ubuntu-latest' }}
container:
image: ghcr.io/terrapkg/builder:f${{ matrix.version}}
image: ghcr.io/terrapkg/builder:f${{ matrix.version }}
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
Expand All @@ -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

Expand Down
1 change: 0 additions & 1 deletion .github/workflows/bootstrap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ jobs:
terra${{ matrix.version }} anda-build/rpm/rpms/*
- name: Upload source packages to subatomic
if: github.event_name == 'push'
run: |
subatomic-cli upload --prune \
--server https://subatomic.fyralabs.com \
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/update-branch.yml
Original file line number Diff line number Diff line change
@@ -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 "[email protected]"
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
6 changes: 3 additions & 3 deletions .github/workflows/update-comps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: Push comps updates
on:
push:
branches:
- frawhide
- f41
- f40
- f39
- f38
- f37
- el10
paths:
- comps.xml
workflow_dispatch:
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/update-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
autoupdate:
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:f40
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
Expand All @@ -17,37 +17,37 @@ jobs:
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}

- name: Install SSH signing 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 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: |
git config --global --add safe.directory "*"
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "[email protected]"
git config gpg.format "ssh"
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 f37 || true
copy_over f38 || true
copy_over frawhide || true
copy_over f40 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi
53 changes: 53 additions & 0 deletions .github/workflows/update-weekly.yml
Original file line number Diff line number Diff line change
@@ -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 "[email protected]"
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
20 changes: 9 additions & 11 deletions .github/workflows/update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:
autoupdate:
runs-on: ubuntu-latest
container:
image: ghcr.io/terrapkg/builder:f40
image: ghcr.io/terrapkg/builder:frawhide
options: --cap-add=SYS_ADMIN --privileged
steps:
- name: Checkout
Expand All @@ -17,39 +17,37 @@ jobs:
fetch-depth: 0
ssh-key: ${{ secrets.SSH_AUTHENTICATION_KEY }}

- name: Install SSH signing 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: anda update -vv
run: anda update -v --excludes nightly=1 --excludes weekly=1 --excludes updbranch=1
env:
GITHUB_TOKEN: ${{ secrets.AUTOUPDATE_GH_TOKEN }}
RUST_BACKTRACE: full

- name: Save
run: |
git config --global --add safe.directory "*"
if [[ `git status --porcelain` ]]; then
git config user.name "Raboneko"
git config user.email "[email protected]"
git config gpg.format "ssh"
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 f37 || true
copy_over f38 || true
copy_over frawhide || true
copy_over f40 || true
copy_over f41 || true
copy_over el10 || true
git push -u origin --all
fi

0 comments on commit 5d7b332

Please sign in to comment.