From c313d42b8770620256c9b42cfdcbb3aa6ae7dae5 Mon Sep 17 00:00:00 2001 From: Markus Pesch Date: Sat, 2 Dec 2023 16:01:38 +0100 Subject: [PATCH] fix(ci): init --- .SRCINFO | 2 +- .drone.yml | 74 ++++++++++++++++++----- .editorconfig | 5 +- .gitignore | 12 ++-- .markdownlint.yaml | 145 +++++++++++++++++++++++++++++++++++++++++++++ PKGBUILD | 2 +- README.md | 65 ++++++++++++++------ renovate.json | 17 ++++++ 8 files changed, 274 insertions(+), 48 deletions(-) create mode 100644 .markdownlint.yaml create mode 100644 renovate.json diff --git a/.SRCINFO b/.SRCINFO index d4e8c3a..dbd181a 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -4,7 +4,7 @@ pkgbase = mint-backgrounds pkgrel = 1 arch = any license = Various - depends = mint-backgrounds-helena + depends = mint-backgrounds depends = mint-backgrounds-isadora depends = mint-backgrounds-julia depends = mint-backgrounds-katya diff --git a/.drone.yml b/.drone.yml index 8179213..e72a371 100644 --- a/.drone.yml +++ b/.drone.yml @@ -3,30 +3,22 @@ kind: pipeline type: kubernetes name: linter -platform: - os: linux - arch: amd64 +clone: + disable: true steps: +- name: clone + image: git.cryptic.systems/volker.raschek/git:1.3.1 + - name: markdown lint commands: - markdownlint *.md - image: docker.io/volkerraschek/markdownlint:0.32.1 + image: git.cryptic.systems/volker.raschek/markdownlint:0.37.0 resources: limits: cpu: 150 memory: 150M -- name: sync - image: appleboy/drone-git-push - environment: - GIT_PUSH_SSH_KEY: - from_secret: aur_ssh_key - settings: - branch: master - remote: ssh://aur@aur.archlinux.org/mint-backgrounds.git - force: false - - name: email-notification environment: SMTP_FROM_ADDRESS: @@ -39,7 +31,7 @@ steps: from_secret: smtp_username SMTP_PASSWORD: from_secret: smtp_password - image: docker.io/volkerraschek/drone-email:0.1.1 + image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 resources: limits: cpu: 150 @@ -52,4 +44,54 @@ steps: trigger: event: exclude: - - tag \ No newline at end of file + - tag + +--- +kind: pipeline +type: kubernetes +name: sync-to-aur.archlinux.org + +clone: + disable: true + +steps: +- name: clone + image: git.cryptic.systems/volker.raschek/git:1.3.1 + +- name: git-push + image: docker.io/appleboy/drone-git-push:1.0.6 + settings: + branch: master + remote: ssh://aur@aur.archlinux.org/mint-backgrounds.git + force: false + commit: false + ssh_key: + from_secret: aur_ssh_key + +- name: email-notification + environment: + SMTP_FROM_ADDRESS: + from_secret: smtp_from_address + SMTP_FROM_NAME: + from_secret: smtp_from_name + SMTP_HOST: + from_secret: smtp_host + SMTP_USERNAME: + from_secret: smtp_username + SMTP_PASSWORD: + from_secret: smtp_password + image: git.cryptic.systems/volker.raschek/drone-email:0.1.5 + resources: + limits: + cpu: 150 + memory: 150M + when: + status: + - changed + - failure + +trigger: + event: + - tag + repo: + - volker.raschek/mint-backgrounds-pkg \ No newline at end of file diff --git a/.editorconfig b/.editorconfig index dd69de0..1166a4a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,7 +9,4 @@ indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true -insert_final_newline = false - -[Makefile] -indent_style = tab \ No newline at end of file +insert_final_newline = false \ No newline at end of file diff --git a/.gitignore b/.gitignore index a70f9f4..7d4ec31 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,5 @@ -* -!.drone.yml -!.gitignore -!.editorconfig -!.SRCINFO -!PKGBUILD -!README.md +pkg +src +*tar.gz +*tar.zst +*tar.zst.sig \ No newline at end of file diff --git a/.markdownlint.yaml b/.markdownlint.yaml new file mode 100644 index 0000000..54c8c83 --- /dev/null +++ b/.markdownlint.yaml @@ -0,0 +1,145 @@ +# markdownlint YAML configuration +# https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.yaml + +# Default state for all rules +default: true + +# Path to configuration file to extend +extends: null + +# MD003/heading-style/header-style - Heading style +MD003: + # Heading style + style: "atx" + +# MD004/ul-style - Unordered list style +MD004: + style: "dash" + +# MD007/ul-indent - Unordered list indentation +MD007: + # Spaces for indent + indent: 2 + # Whether to indent the first level of the list + start_indented: false + +# MD009/no-trailing-spaces - Trailing spaces +MD009: + # Spaces for line break + br_spaces: 2 + # Allow spaces for empty lines in list items + list_item_empty_lines: false + # Include unnecessary breaks + strict: false + +# MD010/no-hard-tabs - Hard tabs +MD010: + # Include code blocks + code_blocks: true + +# MD012/no-multiple-blanks - Multiple consecutive blank lines +MD012: + # Consecutive blank lines + maximum: 1 + +# MD013/line-length - Line length +MD013: + # Number of characters + line_length: 120 + # Number of characters for headings + heading_line_length: 120 + # Number of characters for code blocks + code_block_line_length: 120 + # Include code blocks + code_blocks: false + # Include tables + tables: false + # Include headings + headings: true + # Include headings + headers: true + # Strict length checking + strict: false + # Stern length checking + stern: false + +# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines +MD022: + # Blank lines above heading + lines_above: 1 + # Blank lines below heading + lines_below: 1 + +# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content +MD024: + # Only check sibling headings + allow_different_nesting: true + +# MD025/single-title/single-h1 - Multiple top-level headings in the same document +MD025: + # Heading level + level: 1 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD026/no-trailing-punctuation - Trailing punctuation in heading +MD026: + # Punctuation characters + punctuation: ".,;:!。,;:!" + +# MD029/ol-prefix - Ordered list item prefix +MD029: + # List style + style: "one_or_ordered" + +# MD030/list-marker-space - Spaces after list markers +MD030: + # Spaces for single-line unordered list items + ul_single: 1 + # Spaces for single-line ordered list items + ol_single: 1 + # Spaces for multi-line unordered list items + ul_multi: 1 + # Spaces for multi-line ordered list items + ol_multi: 1 + +# MD033/no-inline-html - Inline HTML +MD033: + # Allowed elements + allowed_elements: [] + +# MD035/hr-style - Horizontal rule style +MD035: + # Horizontal rule style + style: "---" + +# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading +MD036: + # Punctuation characters + punctuation: ".,;:!?。,;:!?" + +# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading +MD041: + # Heading level + level: 1 + # RegExp for matching title in front matter + front_matter_title: "^\\s*title\\s*[:=]" + +# MD044/proper-names - Proper names should have the correct capitalization +MD044: + # List of proper names + names: + - Arch Linux + - Linux Mint + # Include code blocks + code_blocks: false + +# MD046/code-block-style - Code block style +MD046: + # Block style + style: "fenced" + +# MD048/code-fence-style - Code fence style +MD048: + # Code fence syle + style: "backtick" \ No newline at end of file diff --git a/PKGBUILD b/PKGBUILD index 3a2527d..366e86f 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -7,7 +7,7 @@ pkgdesc="The backgrounds of Linux Mint" license=('Various') arch=('any') depends=( - 'mint-backgrounds-helena' + 'mint-backgrounds' 'mint-backgrounds-isadora' 'mint-backgrounds-julia' 'mint-backgrounds-katya' diff --git a/README.md b/README.md index 5aa6501..7b77cfb 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,62 @@ # mint-backgrounds -[![https://img.shields.io/aur/version/mint-backgrounds](https://img.shields.io/aur/version/mint-backgrounds)](https://aur.archlinux.org/packages/mint-backgrounds) -[![https://img.shields.io/aur/license/mint-backgrounds](https://img.shields.io/aur/license/mint-backgrounds)](https://aur.archlinux.org/packages/mint-backgrounds) -[![https://img.shields.io/aur/maintainer/mint-backgrounds](https://img.shields.io/aur/maintainer/mint-backgrounds)](https://aur.archlinux.org/packages/mint-backgrounds) -[![https://img.shields.io/aur/last-modified/mint-backgrounds](https://img.shields.io/aur/last-modified/mint-backgrounds)](https://aur.archlinux.org/packages/mint-backgrounds) +![AUR version](https://img.shields.io/aur/version/mint-backgrounds?label=AUR) [![Build Status](https://drone.cryptic.systems/api/badges/volker.raschek/mint-backgrounds-pkg/status.svg)](https://drone.cryptic.systems/volker.raschek/mint-backgrounds-pkg) +![AUR votes](https://img.shields.io/aur/votes/mint-backgrounds) -This repository contains the source code to build the Arch Linux package -`mint-backgrounds`. +This repository contains build files to build the Arch Linux package `mint-backgrounds`. Instead of building the +package yourself, it can also be obtained from the following private repository. More detailed are described +[here](#obtaining-pre-built-packages-from-a-repository). -The package can be created and installed locally via `makepkg`. Alternatively, -it can be installed from the -[AUR](https://aur.archlinux.org/packages/mint-backgrounds) using an AUR helper -such as `yay`. +## Build -## makepkg - -Clone the repository from one of the mirrors and move into the cloned git -repository. Execute `makepkg --install` to build the and install the package. +Clone this repository and use `makepkg` to build the package by yourself. For example: ```bash -git clone +git clone https://aur.archlinux.org/mint-backgrounds.git cd mint-backgrounds -makepkg --install +makepkg ``` -## yay +## Yay -Make sure that yay is installed. Run yay to build and install the -mint-backgrounds package. +The build files are also available via AUR and can be installed via an AUR helper like `yay`. ```bash yay --sync --aur mint-backgrounds ``` + +## Obtaining pre-built packages from a repository + +Instead of building the packages locally, it is also possible to configure an additional repository to install the +package directly via `pacman`. The following commands are used to create the repository, configure the GPG key to verify +the packages and install the package: + +```bash +# Create drop-in directory +sudo mkdir --parents /etc/pacman.d/repos + +# Create configuration of the repository 'volker.raschek' +sudo tee /etc/pacman.d/repos/volker.raschek.conf > /dev/null <<'EOF' +[volker.raschek] +SigLevel = PackageRequired TrustedOnly +Include = /etc/pacman.d/repos/volker.raschek.list +EOF + +# Create mirror list of the repository 'volker.raschek' +sudo tee /etc/pacman.d/repos/volker.raschek.list > /dev/null <<'EOF' +Server = https://aur.cryptic.systems/$repo/$arch +EOF + +# Import gpg key of the repository 'volker.raschek' +sudo pacman-key --keyserver hkps://keys.openpgp.org --recv-keys 9B146D11A9ED6CA7E279EB1A852BCC170D81A982 + +# Extend existing pacman configuration of the repository 'volker.raschek' +sudo echo "Include = /etc/pacman.d/repos/*.conf" >> /etc/pacman.conf + +# Update pacman cache +sudo pacman --sync --refresh + +# Install the package and receive updates directly via pacman :) +sudo pacman --sync mint-backgrounds +``` diff --git a/renovate.json b/renovate.json new file mode 100644 index 0000000..0eb214c --- /dev/null +++ b/renovate.json @@ -0,0 +1,17 @@ +{ + "$schema": "https://docs.renovatebot.com/renovate-schema.json", + "assignees": [ "volker.raschek" ], + "automergeStrategy": "merge-commit", + "automergeType": "pr", + "labels": [ "renovate" ], + "packageRules": [ + { + "addLabels": [ "renovate/droneci", "renovate/automerge" ], + "automerge": true, + "matchManagers": "droneci", + "matchUpdateTypes": [ "minor", "patch"] + } + ], + "rebaseLabel": "renovate/rebase", + "rebaseWhen": "behind-base-branch" +}