From 468947a82206863fb3158d2b65089d6366bf14c7 Mon Sep 17 00:00:00 2001 From: Maximilian Luz Date: Tue, 18 Feb 2020 18:46:03 +0100 Subject: [PATCH] Update repo-update process --- .github/workflows/arch.yml | 2 +- .github/workflows/arch_lts.yml | 58 +++++++++++--------------------- .github/workflows/debian.yml | 2 +- .github/workflows/debian_lts.yml | 50 +++++++++++---------------- .github/workflows/fedora-30.yml | 2 +- .github/workflows/fedora-31.yml | 2 +- 6 files changed, 44 insertions(+), 72 deletions(-) diff --git a/.github/workflows/arch.yml b/.github/workflows/arch.yml index 7b028a5c8..fb0e4bc2c 100644 --- a/.github/workflows/arch.yml +++ b/.github/workflows/arch.yml @@ -90,7 +90,7 @@ jobs: - name: Update repository env: SURFACEBOT_TOKEN: ${{ secrets.GITHUB_BOT_TOKEN }} - BRANCH_STAGING: autoupd/staging + BRANCH_STAGING: u/staging GIT_REF: ${{ github.ref }} run: | repo="https://surfacebot:${SURFACEBOT_TOKEN}@github.com/linux-surface/repo.git" diff --git a/.github/workflows/arch_lts.yml b/.github/workflows/arch_lts.yml index e84ccd794..2c85229cd 100644 --- a/.github/workflows/arch_lts.yml +++ b/.github/workflows/arch_lts.yml @@ -82,14 +82,6 @@ jobs: run: | pacman -Sy --noconfirm base-devel git - - name: Checkout repository - uses: actions/checkout@v2 - with: - repository: linux-surface/repo - token: ${{ secrets.GITHUB_BOT_TOKEN }} - fetch-depth: 0 - ref: master - - name: Download artifacts uses: actions/download-artifact@v1 with: @@ -97,48 +89,38 @@ jobs: - name: Update repository env: - GPG_KEY: ${{ secrets.SURFACE_GPG_KEY }} + SURFACEBOT_TOKEN: ${{ secrets.GITHUB_BOT_TOKEN }} + BRANCH_STAGING: u/staging GIT_REF: ${{ github.ref }} run: | - cp arch-latest/* arch/ - rm -r arch-latest + repo="https://surfacebot:${SURFACEBOT_TOKEN}@github.com/linux-surface/repo.git" - cd arch - repo-add -n linux-surface.db.tar.gz *.pkg.tar.zst + # clone package repository + git clone -b "${BRANCH_STAGING}" "${repo}" repo - # Sign the updated repository - echo "$GPG_KEY" | base64 -d | gpg --import --no-tty --batch --yes - if [ -f 'linux-surface.db.sig' ]; then - rm linux-surface.db.sig - rm linux-surface.db.tar.gz.sig - rm linux-surface.files.sig - rm linux-surface.files.tar.gz.sig - fi - gpg --detach-sign --batch --no-tty --no-armor -u $GPG_KEY_ID linux-surface.db - gpg --detach-sign --batch --no-tty --no-armor -u $GPG_KEY_ID linux-surface.db.tar.gz - gpg --detach-sign --batch --no-tty --no-armor -u $GPG_KEY_ID linux-surface.files - gpg --detach-sign --batch --no-tty --no-armor -u $GPG_KEY_ID linux-surface.files.tar.gz + # copy packages + cp arch-latest/* repo/arch/ + cd repo/arch - # Parse git tag from ref + # parse git tag from ref GIT_TAG=$(echo $GIT_REF | sed 's|^refs/tags/||g') - # Convert packages into references + # convert packages into references for pkg in $(find . -name '*.pkg.tar.zst'); do echo "linux-surface:$GIT_TAG/$(basename $pkg)" > $pkg.blob rm $pkg done - - name: Commit and push - uses: github-actions-x/commit@v2.3 - with: - github-token: ${{ secrets.GITHUB_BOT_TOKEN }} - push-branch: master - commit-message: Update arch lts kernel - force-add: false - rebase: true - files: arch/* - name: surfacebot - email: surfacebot@users.noreply.github.com + # set git identity + git config --global user.email "surfacebot@users.noreply.github.com" + git config --global user.name "surfacebot" + + # commit and push + update_branch="${BRANCH_STAGING}-$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)" + git switch -c "${update_branch}" + git add . + git commit -m "Update Arch Linux LTS kernel" + git push --set-upstream origin "${update_branch}" release: name: Publish release diff --git a/.github/workflows/debian.yml b/.github/workflows/debian.yml index 833a4a3f1..013f8d337 100644 --- a/.github/workflows/debian.yml +++ b/.github/workflows/debian.yml @@ -134,7 +134,7 @@ jobs: - name: Update repository env: SURFACEBOT_TOKEN: ${{ secrets.GITHUB_BOT_TOKEN }} - BRANCH_STAGING: autoupd/staging + BRANCH_STAGING: u/staging GIT_REF: ${{ github.ref }} run: | repo="https://surfacebot:${SURFACEBOT_TOKEN}@github.com/linux-surface/repo.git" diff --git a/.github/workflows/debian_lts.yml b/.github/workflows/debian_lts.yml index 05feeecfb..ad7760c96 100644 --- a/.github/workflows/debian_lts.yml +++ b/.github/workflows/debian_lts.yml @@ -126,14 +126,6 @@ jobs: apt-get update apt-get install -y reprepro git - - name: Checkout repository - uses: actions/checkout@v2 - with: - repository: linux-surface/repo - token: ${{ secrets.GITHUB_BOT_TOKEN }} - fetch-depth: 0 - ref: master - - name: Download artifacts uses: actions/download-artifact@v1 with: @@ -141,40 +133,38 @@ jobs: - name: Update repository env: - GPG_KEY: ${{ secrets.SURFACE_GPG_KEY }} + SURFACEBOT_TOKEN: ${{ secrets.GITHUB_BOT_TOKEN }} + BRANCH_STAGING: u/staging GIT_REF: ${{ github.ref }} run: | - cd debian + repo="https://surfacebot:${SURFACEBOT_TOKEN}@github.com/linux-surface/repo.git" - # Import the GPG key for signing the repository - echo "$GPG_KEY" | base64 -d | gpg --import --no-tty --batch --yes + # clone package repository + git clone -b "${BRANCH_STAGING}" "${repo}" repo - # Add packages to repository - for pkg in ../debian-latest/*.deb; do - reprepro --basedir . --component main includedeb release $pkg - done - rm -r ../debian-latest + # copy packages + cp debian-latest/* repo/debian/ + cd repo/debian - # Parse git tag from ref + # parse git tag from ref GIT_TAG=$(echo $GIT_REF | sed 's|^refs/tags/||g') - # Convert packages into references + # convert packages into references for pkg in $(find . -name '*.deb'); do echo "linux-surface:$GIT_TAG/$(basename $pkg)" > $pkg.blob rm $pkg done - - name: Commit and push - uses: github-actions-x/commit@v2.3 - with: - github-token: ${{ secrets.GITHUB_BOT_TOKEN }} - push-branch: master - commit-message: Update debian lts kernel - force-add: false - rebase: true - files: debian/* - name: surfacebot - email: surfacebot@users.noreply.github.com + # set git identity + git config --global user.email "surfacebot@users.noreply.github.com" + git config --global user.name "surfacebot" + + # commit and push + update_branch="${BRANCH_STAGING}-$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)" + git switch -c "${update_branch}" + git add . + git commit -m "Update Debian LTS kernel" + git push --set-upstream origin "${update_branch}" release: name: Publish release diff --git a/.github/workflows/fedora-30.yml b/.github/workflows/fedora-30.yml index 1d9af1d61..f7da852b3 100644 --- a/.github/workflows/fedora-30.yml +++ b/.github/workflows/fedora-30.yml @@ -76,7 +76,7 @@ jobs: - name: Update repository env: SURFACEBOT_TOKEN: ${{ secrets.GITHUB_BOT_TOKEN }} - BRANCH_STAGING: autoupd/staging + BRANCH_STAGING: u/staging GIT_REF: ${{ github.ref }} run: | repo="https://surfacebot:${SURFACEBOT_TOKEN}@github.com/linux-surface/repo.git" diff --git a/.github/workflows/fedora-31.yml b/.github/workflows/fedora-31.yml index 876a9c594..6245a28d2 100644 --- a/.github/workflows/fedora-31.yml +++ b/.github/workflows/fedora-31.yml @@ -76,7 +76,7 @@ jobs: - name: Update repository env: SURFACEBOT_TOKEN: ${{ secrets.GITHUB_BOT_TOKEN }} - BRANCH_STAGING: autoupd/staging + BRANCH_STAGING: u/staging GIT_REF: ${{ github.ref }} run: | repo="https://surfacebot:${SURFACEBOT_TOKEN}@github.com/linux-surface/repo.git"