This branch is 12 commits behind corysanin/artix-metro:master
2025-03-25 04:55:56 +00:00
2025-02-08 23:21:42 -05:00
2025-01-21 23:05:02 -05:00
2025-02-08 23:21:42 -05:00
2025-01-21 20:14:48 -05:00
2025-03-25 04:55:56 +00:00
2025-01-21 20:14:48 -05:00
2023-06-10 05:51:56 +00:00
2025-01-21 23:05:02 -05:00
2025-01-21 23:05:02 -05:00
2025-01-21 20:14:48 -05:00
2025-01-21 20:14:48 -05:00

artix-metro

Artix package pushing automation tool that waits for builds to pass before continuing in the queue.

Features

  • artix-checkupdates is used to skip packages without pending operations
  • Package upgrades wait for successful builds before moving on to the next one
  • Build failures stop execution
  • Perfect for scripting large, recurring rebuilds
  • Increment mode for fixing packages built completely out-of-order

Setup

artix-checkupdates is required. I highly recommend configuring it to use the developer artix mirror.

  1. Install node dependencies with npm install
  2. Process the typescript source with npm exec tsc

Config

In addition to the robust CLI, jobs can be defined in a JSON5 or plain JSON file. For recurring tasks, either a job file or a bash script with the CLI calls is recommended. See example.json5 for an example job file.

Use

In order to sign commits, artix-metro needs your GPG password. It can be provided via the GPGPASS environment variable. Otherwise the program will prompt you for it on startup.

Run a job:

node bin/artix-metro.mjs --job jobs/example.json5

Run a job, skipping to a particular package:

node bin/artix-metro.mjs --job jobs/example.json5 --start kmail

Run an ad hoc job via the CLI:

node bin/artix-metro.mjs add stable libjpeg-turbo lib32-libjpeg-turbo

Notice that as long as the same shorthand works for all packages (e.g. stable, gremlins, goblins), repos can vary from package to package.

Description
Automate pushing packages to Artix
Readme MIT 291 KiB
Languages
TypeScript 98%
Shell 1.7%
JavaScript 0.3%