From f879d387f36a7da8f02ca7a8e81fbd4e0a62fe96 Mon Sep 17 00:00:00 2001 From: Luca Bilke Date: Wed, 3 Apr 2024 22:32:44 +0200 Subject: [PATCH] update CI --- .forgejo/workflows/build.yml | 59 +++++++++++++++++++++++++++++++++ .forgejo/workflows/renovate.yml | 24 ++++++++++++++ .renovaterc.json | 5 +++ 3 files changed, 88 insertions(+) create mode 100644 .forgejo/workflows/build.yml create mode 100644 .forgejo/workflows/renovate.yml create mode 100644 .renovaterc.json diff --git a/.forgejo/workflows/build.yml b/.forgejo/workflows/build.yml new file mode 100644 index 00000000..51e8dd63 --- /dev/null +++ b/.forgejo/workflows/build.yml @@ -0,0 +1,59 @@ +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json +name: Build/Publish XBPS + +on: [push] + +jobs: + build-and-publish: + runs-on: docker + container: git.snaile.de/snailed/xbps-builder:2024.4.2029 + env: + LICENSE: "GPL-3.0" + SHORT_DESCRIPTION: "Tokyonight GTK Theme" + MAINTAINER: "Luca Bilke " + NAME: "st-custom" + ARCH: "x86_64" + steps: + - name: Checkout + uses: https://code.forgejo.org/actions/checkout@v4 + with: + submodules: true + + - name: Generate tag and package name + run: | + set -xeu + MAJOR=$(date +%Y) + MINOR=$(date +%m | sed 's/^0//') + PATCH=$(date +%H%M | sed 's/^0//') + echo "PACKAGE_NAME=${{ env.NAME }}-${MAJOR}.${MINOR}.${PATCH}_1" >> $GITHUB_ENV + + - name: Build + run: | + set -xeu + mkdir -p pkg/usr/share/themes + oomox-gtk-theme/change_color.sh -t pkg/usr/share/themes -o tokyonight -d true ./tokyonight + + - name: Create package + run : | + set -xeu + export XBPS_TARGET_ARCH=${{ env.ARCH }} + mkdir /target + cd /target || exit 1 + xbps-create -A ${{ env.ARCH }} \ + -H "${{ github.server_url }}/${{ github.repository }}" \ + -l "${{ env.LICENSE }}" \ + -n "${{ env.PACKAGE_NAME }}" \ + -m "${{ env.MAINTAINER }}" \ + -s "${{ env.SHORT_DESCRIPTION }}" \ + "${GITHUB_WORKSPACE}/pkg" + + - name: Push Package + run: | + set -xeu + curl -so "/target/${{ env.ARCH }}-repodata" "https://xbps.snaile.de/${{ env.ARCH }}-repodata" + xbps-rindex --add "/target/${{ env.PACKAGE_NAME }}.${{ env.ARCH }}.xbps" + echo '${{ secrets.XBPS_SIGNING_KEY }}' >/tmp/privkey.pem + XBPS_PASSPHRASE=${{ secrets.XBPS_SIGNING_PASSPHRASE }} xbps-rindex --privkey /tmp/privkey.pem --sign-pkg --signedby "${{ env.MAINTAINER }}" "/target/${{ env.PACKAGE_NAME }}.${{ env.ARCH }}.xbps" + rm /tmp/privkey.pem + ls -lAH /target + find /target -type f -exec sh -c 'curl -X PUT --digest -u "${{ vars.XBPS_WEBDAV_USER }}:${{ secrets.XBPS_WEBDAV_KEY }}" -T "${1}" "https://xbps.snaile.de/$(basename $1)"' find-shell {} \; diff --git a/.forgejo/workflows/renovate.yml b/.forgejo/workflows/renovate.yml new file mode 100644 index 00000000..64af1f60 --- /dev/null +++ b/.forgejo/workflows/renovate.yml @@ -0,0 +1,24 @@ +name: Renovate + +on: + schedule: + - cron: '0 */8 * * *' + +jobs: + renovate: + runs-on: docker + container: renovate/renovate@sha256:328686ec82a09ea7fc4326ac03a35dff926a7e85206d7f1b376d6002e04ef526 + env: + RENOVATE_TOKEN: ${{ secrets.RENOVATE_TOKEN }} + GITHUB_COM_TOKEN: ${{ secrets.GH_NOPRIV_TOKEN }} + RENOVATE_GIT_PRIVATE_KEY: ${{ secrets.JOHNNY5_GPG_PRIVKEY }} + RENOVATE_PLATFORM: gitea + RENOVATE_ENDPOINT: ${{ github.server_url }} + RENOVATE_GIT_AUTHOR: 'Johnny5 ' + LOG_LEVEL: debug + + steps: + - uses: https://code.forgejo.org/actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 + + - name: Renovate + run: renovate ${{ github.repository }} diff --git a/.renovaterc.json b/.renovaterc.json new file mode 100644 index 00000000..011b5da4 --- /dev/null +++ b/.renovaterc.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "extends": ["config:best-practices"], + "enabledManagers": ["github-actions"] +}