Package Details: pipelight 0.7.20-1

Git Clone URL: https://aur.archlinux.org/pipelight.git (read-only, click to copy)
Package Base: pipelight
Description: A Rust based quick automation tool
Upstream URL: https://packages.pipelight.dev/pipelight-0.7.20-1-any.pkg.tar.zst
Keywords: ansible automation bash cicd continuous deployment git hook integration jenkins pipelight pipeline rust sh typescript wrapper
Licenses: GPL2
Conflicts: pipelight-git
Provides: pipelight
Submitter: areskul
Maintainer: areskul
Last Packager: areskul
Votes: 0
Popularity: 0.000000
First Submitted: 2022-12-19 11:20 (UTC)
Last Updated: 2024-01-22 15:32 (UTC)

Dependencies (5)

Required by (0)

Sources (1)

Latest Comments

1 2 Next › Last »

areskul commented on 2023-04-18 15:18 (UTC) (edited on 2023-04-18 15:19 (UTC) by areskul)

Thank you for figuring this out! I updated the package generation PKGBUILD.

jghodd commented on 2023-04-17 18:12 (UTC) (edited on 2023-04-17 18:13 (UTC) by jghodd)

2 things.

1 - the PKGBUILD fails because it thinks it's overwriting a previously built package. the file downloaded is pipelight-0.4.26-1-any.pkg.tar.zst and PKGBUILD thinks it's going to be building pipelight-0.4.26-1-any.pkg.tar.zst, so thus the conflict.


makepkg
==> ERROR: A package has already been built. (use -f to overwrite)
[root@bslxenvy64 pipelight]# vi PKGBUILD 
[root@bslxenvy64 pipelight]# rm pipelight-0.4.26-1-any.pkg.tar.zst
[root@bslxenvy64 pipelight]# makepkg
==> Making package: pipelight 0.4.26-1 (Mon 17 Apr 2023 02:00:46 PM EDT)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading pipelight-0.4.26-1-any.pkg.tar.zst...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 4304k  100 4304k    0     0  41685      0  0:01:45  0:01:45 --:--:-- 33113
==> Validating source files with md5sums...
    pipelight-0.4.26-1-any.pkg.tar.zst ... Skipped
==> Extracting sources...
  -> Extracting pipelight-0.4.26-1-any.pkg.tar.zst with bsdtar
==> Entering fakeroot environment...
==> ERROR: A package has already been built. (use -f to overwrite)

2 - despite naming the project "pipelight", the .PKGINFO contained within pipelight-0.4.26-1-any.pkg.tar.zst says the package name is pipelight-git, so it effectively conflicts with itself.


# Generated by makepkg 6.0.2
# using fakeroot version 1.31
pkgname = pipelight-git
pkgbase = pipelight-git
pkgver = 0.4.26-1
pkgdesc = A Rust based quick automation tool
url = https://gitea.com/pipelight/pipelight.git
builddate = 1681732843
packager = Unknown Packager
size = 10979032
arch = any
license = GPL2
provides = pipelight
depend = deno
makedepend = git
makedepend = make
makedepend = cargo

To fix these, you need to 1) tar up your package into a file named something different from the PKGBUILD output; and 2) make sure the .PKGINFO file properly reflects the name of the package.

Buildable with errors. Not installable.

areskul commented on 2023-04-06 11:50 (UTC)

The PKBUILD was pointing to the wrong source. I updated it. Thank you for your reports!

jghodd commented on 2023-04-05 17:30 (UTC) (edited on 2023-04-05 17:37 (UTC) by jghodd)

Failing the build. Again. Whatever is being downloaded by the PKGBUILD is an html file, not a tar.zst file.


# cat pipelight.0.4.26-1.pkg.tar.zst

<html lang="en-US" dir="ltr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Pipelight | Pipelight</title>
    <meta name="description" content="A tiny automation tool.">
    <link rel="preload stylesheet" href="/assets/style.6f053087.css" as="style">
    <script type="module" src="/assets/app.a1993102.js"></script>
    <link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
  <link rel="modulepreload" href="/assets/chunks/framework.6799da9a.js">
  <link rel="modulepreload" href="/assets/chunks/theme.2fbbe251.js">
  <link rel="modulepreload" href="/assets/chunks/custom.4ed993c7.js">
  <link rel="modulepreload" href="/assets/chunks/index.473c174a.js">
  <link rel="modulepreload" href="/assets/index.md.6a219180.lean.js">
  <meta name="author" content="Areskul">
  <meta name="keywords" content="linux, automation, pipelight, cicd, bash, git, typescript, continuous, delivery, integration, deployment">
  <link rel="icon" type="image/png" href="/images/pipelight.png">
  <meta name="HandheldFriendly" content="True">
  <meta name="MobileOptimized" content="320">
  <meta name="theme-color" content="#3f7739">
  <meta name="twitter:card" content="/images/pipelight.png">
  <meta name="twitter:site" content="https://pipelight.dev">
  <meta name="twitter:title" value="Pipelight">
  <meta name="twitter:description" value="A tiny automation tool.">
  <meta name="twitter:image" content="https://pipelight.dev/images/pipelight.png">
  <meta property="og:type" content="website">
  <meta property="og:locale" content="en_US">
  <meta property="og:site" content="https://pipelight.dev">
  <meta property="og:site_name" content="Pipelight">
  <meta property="og:title" content="Pipelight">
  <meta property="og:image" content="https://pipelight.dev/images/pipelight.png">
  <meta property="og:description" content="A tiny automation tool.">
  <link rel="dns-prefetch" href="https://fonts.gstatic.com">
  <link rel="preconnect" crossorigin="anonymous" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=Fira+Code&family=Inter:wght@200;400;500;600&display=swap" rel="stylesheet">
  <script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
  </head>
  <body>
    <div id="app"><div class="Layout" data-v-6888ff46><span tabindex="-1" data-v-a1e5becb></span> Skip to content <header class="VPNav" data-v-6888ff46 data-v-575e7b3b><div class="VPNavBar" data-v-575e7b3b data-v-c76ac858><div class="container" data-v-c76ac858><div class="title" data-v-c76ac858><div class="VPNavBarTitle" data-v-c76ac858 data-v-a5fa09ed><img class="VPImage logo" src="/images/pipelight.png" alt data-v-d1967772>Pipelight</div></div><div class="content" data-v-c76ac858><div class="curtain" data-v-c76ac858></div><div class="content-body" data-v-c76ac858><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-c76ac858 data-v-ec7f5db8><span id="main-nav-aria-label" class="visually-hidden" data-v-ec7f5db8>Main Navigation</span>GuideCookbookContactsGitea<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="icon" data-v-639fb011><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></nav><div class="VPNavBarAppearance appearance" data-v-c76ac858 data-v-986d24c9><label title="toggle dark mode" data-v-986d24c9 data-v-5108c0d6><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-5108c0d6 data-v-b50229af><span class="check" data-v-b50229af><span class="icon" data-v-b50229af><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-5108c0d6><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-5108c0d6><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></label></div><div class="VPFlyout VPNavBarExtra extra" data-v-c76ac858 data-v-7ff43414 data-v-af360cea><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-af360cea><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-af360cea><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-af360cea><div class="VPMenu" data-v-af360cea data-v-e3dcb0c7><div class="group" data-v-7ff43414><div class="item appearance" data-v-7ff43414>

Appearance

<div class="appearance-action" data-v-7ff43414><label title="toggle dark mode" data-v-7ff43414 data-v-5108c0d6><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-5108c0d6 data-v-b50229af><span class="check" data-v-b50229af><span class="icon" data-v-b50229af><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-5108c0d6><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-5108c0d6><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg></span></span></button></label></div></div></div></div></div></div><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-c76ac858 data-v-a6d04bf6><span class="container" data-v-a6d04bf6><span class="top" data-v-a6d04bf6></span><span class="middle" data-v-a6d04bf6></span><span class="bottom" data-v-a6d04bf6></span></span></button></div></div></div></div></header><div class="VPContent is-home" id="VPContent" data-v-6888ff46 data-v-c69d9e1f><div class="VPHome" data-v-c69d9e1f data-v-97a2f52c><div class="VPHero has-image VPHomeHero" data-v-97a2f52c data-v-1b2e3099><div class="container" data-v-1b2e3099><div class="main" data-v-1b2e3099><h1 class="name" data-v-1b2e3099><span class="clip" data-v-1b2e3099>Pipelight</span></h1>

A tiny automation tool

The quickest and least painful way to automate!

<div class="actions" data-v-1b2e3099><div class="action" data-v-1b2e3099>Get Started</div><div class="action" data-v-1b2e3099>Why pipelight?</div></div></div><div class="image" data-v-1b2e3099><div class="image-container" data-v-1b2e3099><div class="image-bg" data-v-1b2e3099></div><img class="VPImage image-src" src="/images/pipelight.png" alt="pipelight_logo" data-v-d1967772></div></div></div></div><div style="position:relative;" data-v-97a2f52c><div data-v-8c40d870><div class="layout" data-v-8c40d870 data-v-054fc35d><div class="vp-doc custom-code" data-v-8c40d870><h3 data-v-8c40d870> Your usual shell script... </h3><div class="language-sh" data-v-8c40d870><button title="Copy Code" class="copy" data-v-8c40d870></button><span class="lang" data-v-8c40d870>sh</span>
<span class="line" data-v-8c40d870><span style="color:#676E95;font-style:italic;" data-v-8c40d870>#simple_example.sh</span></span>
<span class="line" data-v-8c40d870><span style="color:#676E95;font-style:italic;" data-v-8c40d870>## List files</span></span>
<span class="line highlighted" data-v-8c40d870><span style="color:#FFCB6B;" data-v-8c40d870>ls</span><span style="color:#89DDFF;" data-v-8c40d870>;</span></span>
<span class="line" data-v-8c40d870><span style="color:#676E95;font-style:italic;" data-v-8c40d870>## Get working directory</span></span>
<span class="line highlighted" data-v-8c40d870><span style="color:#82AAFF;" data-v-8c40d870>pwd</span><span style="color:#89DDFF;" data-v-8c40d870>;</span></span>
<span class="line" data-v-8c40d870></span>
<span class="line" data-v-8c40d870></span>
</div></div>

<div class="vp-doc custom-code" data-v-8c40d870><h3 data-v-8c40d870> ...rewrited into a Pipeline... </h3><div class="language-ts" data-v-8c40d870><button title="Copy Code" class="copy" data-v-8c40d870></button><span class="lang" data-v-8c40d870>ts</span>
<span class="line" data-v-8c40d870><span style="color:#89DDFF;" data-v-8c40d870>{</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>  </span><span style="color:#FFCB6B;" data-v-8c40d870>name</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#F07178;" data-v-8c40d870> </span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>simple_example</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#89DDFF;" data-v-8c40d870>,</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>  </span><span style="color:#FFCB6B;" data-v-8c40d870>steps</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#F07178;" data-v-8c40d870> [</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>    </span><span style="color:#89DDFF;" data-v-8c40d870>{</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>      name</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#F07178;" data-v-8c40d870> </span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>list files</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#89DDFF;" data-v-8c40d870>,</span></span>
<span class="line highlighted" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>      commands</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#F07178;" data-v-8c40d870> [</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>ls</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#F07178;" data-v-8c40d870>]</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>    </span><span style="color:#89DDFF;" data-v-8c40d870>},</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>    </span><span style="color:#89DDFF;" data-v-8c40d870>{</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>      name</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#F07178;" data-v-8c40d870> </span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>get working directory</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#89DDFF;" data-v-8c40d870>,</span></span>
<span class="line highlighted" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>      commands</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#F07178;" data-v-8c40d870> [</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>pwd</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#F07178;" data-v-8c40d870>]</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>    </span><span style="color:#89DDFF;" data-v-8c40d870>}</span></span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>  ]</span></span>
<span class="line" data-v-8c40d870><span style="color:#89DDFF;" data-v-8c40d870>}</span></span>
<span class="line" data-v-8c40d870></span>
</div></div>

<div class="vp-doc custom-code" data-v-8c40d870><h3 data-v-8c40d870> ...gets Automation and Logging! </h3><img class="sexy" src="/images/example_log_level_4.png" alt="example pretty verbose logs" data-v-8c40d870></div></div><div class="layout" data-v-8c40d870 data-v-054fc35d><div class="vp-doc custom-code" data-v-8c40d870>

Write in your favorite file format

...but Typescript is more fun 😈

</div><div class="vp-doc custom-code" data-v-8c40d870><div class="language-toml" data-v-8c40d870><button title="Copy Code" class="copy" data-v-8c40d870></button><span class="lang" data-v-8c40d870>toml</span>
<span class="line" data-v-8c40d870><span style="color:#89DDFF;" data-v-8c40d870>[[</span><span style="color:#FFCB6B;" data-v-8c40d870>pipelines</span><span style="color:#89DDFF;" data-v-8c40d870>]]</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>name </span><span style="color:#89DDFF;" data-v-8c40d870>=</span><span style="color:#A6ACCD;" data-v-8c40d870>  </span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>simple_example</span><span style="color:#89DDFF;" data-v-8c40d870>"</span></span>
<span class="line" data-v-8c40d870></span>
<span class="line" data-v-8c40d870><span style="color:#89DDFF;" data-v-8c40d870>[[</span><span style="color:#FFCB6B;" data-v-8c40d870>pipelines</span><span style="color:#A6ACCD;" data-v-8c40d870>.</span><span style="color:#FFCB6B;" data-v-8c40d870>steps</span><span style="color:#89DDFF;" data-v-8c40d870>]]</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>name </span><span style="color:#89DDFF;" data-v-8c40d870>=</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>list directory</span><span style="color:#89DDFF;" data-v-8c40d870>"</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>commands </span><span style="color:#89DDFF;" data-v-8c40d870>=</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#89DDFF;" data-v-8c40d870>[</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>ls</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#89DDFF;" data-v-8c40d870>]</span></span>
<span class="line" data-v-8c40d870></span>
<span class="line" data-v-8c40d870><span style="color:#89DDFF;" data-v-8c40d870>[[</span><span style="color:#FFCB6B;" data-v-8c40d870>pipelines</span><span style="color:#A6ACCD;" data-v-8c40d870>.</span><span style="color:#FFCB6B;" data-v-8c40d870>steps</span><span style="color:#89DDFF;" data-v-8c40d870>]]</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>name </span><span style="color:#89DDFF;" data-v-8c40d870>=</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>get working directory</span><span style="color:#89DDFF;" data-v-8c40d870>"</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>commands </span><span style="color:#89DDFF;" data-v-8c40d870>=</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#89DDFF;" data-v-8c40d870>[</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#C3E88D;" data-v-8c40d870>pwd</span><span style="color:#89DDFF;" data-v-8c40d870>"</span><span style="color:#89DDFF;" data-v-8c40d870>]</span></span>
<span class="line" data-v-8c40d870></span>
</div></div><div class="vp-doc custom-code" data-v-8c40d870><div class="language-yml" data-v-8c40d870><button title="Copy Code" class="copy" data-v-8c40d870></button><span class="lang" data-v-8c40d870>yml</span>
<span class="line" data-v-8c40d870><span style="color:#F07178;" data-v-8c40d870>pipelines</span><span style="color:#89DDFF;" data-v-8c40d870>:</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>  </span><span style="color:#89DDFF;" data-v-8c40d870>-</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#F07178;" data-v-8c40d870>name</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>simple_example</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>    </span><span style="color:#F07178;" data-v-8c40d870>steps</span><span style="color:#89DDFF;" data-v-8c40d870>:</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>      </span><span style="color:#89DDFF;" data-v-8c40d870>-</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#F07178;" data-v-8c40d870>commands</span><span style="color:#89DDFF;" data-v-8c40d870>:</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>          </span><span style="color:#89DDFF;" data-v-8c40d870>-</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>ls</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>        </span><span style="color:#F07178;" data-v-8c40d870>name</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>list directory</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>      </span><span style="color:#89DDFF;" data-v-8c40d870>-</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#F07178;" data-v-8c40d870>commands</span><span style="color:#89DDFF;" data-v-8c40d870>:</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>          </span><span style="color:#89DDFF;" data-v-8c40d870>-</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>pwd</span></span>
<span class="line" data-v-8c40d870><span style="color:#A6ACCD;" data-v-8c40d870>        </span><span style="color:#F07178;" data-v-8c40d870>name</span><span style="color:#89DDFF;" data-v-8c40d870>:</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>get working directory</span></span>
<span class="line" data-v-8c40d870></span>
</div></div></div><div class="layout" data-v-8c40d870 data-v-054fc35d><div class="vp-doc custom-code" data-v-8c40d870>

Never leave your terminal

...cli feels like home 😌

</div><div class="vp-doc custom-code" data-v-8c40d870><div class="language-sh" data-v-8c40d870><button title="Copy Code" class="copy" data-v-8c40d870></button><span class="lang" data-v-8c40d870>sh</span>
<span class="line" data-v-8c40d870><span style="color:#FFCB6B;" data-v-8c40d870>pipelight</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>run</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>simple_example</span></span>
<span class="line" data-v-8c40d870></span>
</div><div class="language-sh" data-v-8c40d870><button title="Copy Code" class="copy" data-v-8c40d870></button><span class="lang" data-v-8c40d870>sh</span>
<span class="line" data-v-8c40d870><span style="color:#FFCB6B;" data-v-8c40d870>pipelight</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>logs</span><span style="color:#A6ACCD;" data-v-8c40d870> </span><span style="color:#C3E88D;" data-v-8c40d870>-vvv</span></span>
<span class="line" data-v-8c40d870></span>
</div></div></div><div class="layout" data-v-8c40d870 data-v-054fc35d><div class="vp-doc custom-code" data-v-8c40d870>

Rust based.

Made with passion

for conscientious programmers.

</div></div></div></div></div></div></div></div> <script>__VP_HASH_MAP__ = JSON.parse("{\"readme.md\":\"9d498cd0\",\"guide_why.md\":\"aa261b9e\",\"guide_the_story.md\":\"d08fa607\",\"others_contacts.md\":\"078b27ca\",\"guide_index.md\":\"6fc95da8\",\"guide_logs.md\":\"630443a0\",\"cookbook_tips.md\":\"ac030b63\",\"cookbook_strategies.md\":\"b43dbfe8\",\"guide_readme.md\":\"88c63a0e\",\"guide_cli.md\":\"7faa587a\",\"index.md\":\"6a219180\",\"guide_config.md\":\"7fb7ea17\"}") __VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"Pipelight\",\"description\":\"A tiny automation tool.\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"logo\":\"/images/pipelight.png\",\"docsBranch\":\"master\",\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/\"},{\"text\":\"Cookbook\",\"link\":\"/cookbook/tips\"},{\"text\":\"Contacts\",\"link\":\"/others/contacts\"},{\"text\":\"Gitea\",\"link\":\"https://gitea.com/pipelight/pipelight\"}],\"sidebar\":{\"/\":[{\"text\":\"Guide\",\"items\":[{\"text\":\"Getting Started\",\"link\":\"/guide/\"},{\"text\":\"Why Pipelight ?\",\"link\":\"/guide/why\"},{\"text\":\"Command line usage\",\"link\":\"/guide/cli\"},{\"text\":\"Configuration in depth\",\"link\":\"/guide/config\"},{\"text\":\"Logs and States\",\"link\":\"/guide/logs\"},{\"text\":\"The story\",\"link\":\"/guide/the_story\"}]},{\"text\":\"Cookbook\",\"items\":[{\"text\":\"Usefull Tips\",\"link\":\"/cookbook/tips\"},{\"text\":\"Deployement Strategies\",\"link\":\"/cookbook/strategies\"}]}]},\"appearance\":false,\"markdown\":{\"theme\":\"material-theme-palenight\",\"lineNumbers\":true}},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script> </body>

areskul commented on 2023-01-06 23:38 (UTC)

Thank you!! Remember me not to mess with the master branch again! It's fixed!

jghodd commented on 2023-01-04 22:56 (UTC)

Still failing the build:


   Compiling utils v0.2.0 (/distro/local/repository/pipelight/src/pipelight/utils)
warning: unused import: `Reference`
 --> utils/src/git.rs:1:12
  |
1 | use git2::{Reference, Repository};
  |            ^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused borrow that must be used
  --> utils/src/git.rs:11:9
   |
11 |         &e.get();
   |         ^^^^^^^^ the borrow produces a value
   |
   = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
   |
11 |         let _ = &e.get();
   |         +++++++

   Compiling pipeline v0.2.0 (/distro/local/repository/pipelight/src/pipelight/pipeline)
error: implementation is not supported in `trait`s or `impl`s
  --> pipeline/src/types/from.rs:58:1
   |
58 | impl From<&Output> for StrOutput {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: consider moving the implementation out to a nearby module scope

warning: unused import: `exec::types::Output`
 --> pipeline/src/types/from.rs:4:5
  |
4 | use exec::types::Output;
  |     ^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused imports: `debug`, `error`, `trace`, `warn`
  --> pipeline/src/types/mod.rs:11:11
   |
11 | use log::{debug, error, info, trace, warn, LevelFilter};
   |           ^^^^^  ^^^^^        ^^^^^  ^^^^

warning: unused imports: `error`, `trace`
 --> pipeline/src/cast/config.rs:3:18
  |
3 | use log::{debug, error, info, trace, warn};
  |                  ^^^^^        ^^^^^

error[E0053]: method `from` has an incompatible type for trait
  --> pipeline/src/types/from.rs:33:16
   |
33 |     fn from(e: &Step) -> Self {
   |                ^^^^^
   |                |
   |                expected struct `cast::Step`, found struct `types::Step`
   |                help: change the parameter type to match the trait: `&cast::Step`
   |
   = note: expected fn pointer `fn(&cast::Step) -> types::Step`
              found fn pointer `fn(&types::Step) -> types::Step`

error[E0277]: `std::option::Option<Status>` doesn't implement `std::fmt::Display`
 --> pipeline/src/types/display.rs:9:28
  |
9 |         write!(f, "{} - ", &self.status)?;
  |                            ^^^^^^^^^^^^ `std::option::Option<Status>` cannot be formatted with the default formatter
  |
  = help: the trait `std::fmt::Display` is not implemented for `std::option::Option<Status>`
  = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
  = note: this error originates in the macro `$crate::format_args` which comes from the expansion of the macro `write` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0277]: the trait bound `types::Trigger: From<&Vec<cast::Trigger>>` is not satisfied
  --> pipeline/src/types/from.rs:13:36
   |
13 |             .map(|e| Trigger::from(e))
   |                      ------------- ^ the trait `From<&Vec<cast::Trigger>>` is not implemented for `types::Trigger`
   |                      |
   |                      required by a bound introduced by this call
   |
   = help: the trait `From<&cast::Trigger>` is implemented for `types::Trigger`

error[E0277]: the trait bound `types::Command: From<&types::Command>` is not satisfied
  --> pipeline/src/types/from.rs:37:36
   |
37 |             .map(|e| Command::from(e))
   |                      ------------- ^ the trait `From<&types::Command>` is not implemented for `types::Command`
   |                      |
   |                      required by a bound introduced by this call
   |
help: consider borrowing here
   |
37 |             .map(|e| Command::from(&e))
   |                                    +

error[E0308]: mismatched types
  --> pipeline/src/types/from.rs:82:16
   |
72 |     fn from(e: &cast::Trigger) -> Self {
   |                                   ---- expected `types::Trigger` because of return type
...
82 |         return list;
   |                ^^^^ expected struct `types::Trigger`, found struct `Vec`
   |
   = note: expected struct `types::Trigger`
              found struct `Vec<types::Trigger>`

error[E0308]: mismatched types
   --> pipeline/src/types/mod.rs:100:23
    |
100 |         self.status = status.to_owned();
    |         -----------   ^^^^^^^^^^^^^^^^^ expected enum `std::option::Option`, found enum `Status`
    |         |
    |         expected due to the type of this binding
    |
    = note: expected enum `std::option::Option<Status>`
               found enum `Status`
help: try wrapping the expression in `Some`
    |
100 |         self.status = Some(status.to_owned());
    |                       +++++                 +

Some errors have detailed explanations: E0053, E0277, E0308.
For more information about an error, try `rustc --explain E0053`.
warning: `pipeline` (lib) generated 3 warnings
error: could not compile `pipeline` due to 7 previous errors; 3 warnings emitted
warning: build failed, waiting for other jobs to finish...
warning: `utils` (lib) generated 2 warnings
==> ERROR: A failure occurred in build().
    Aborting...

jghodd commented on 2023-01-01 18:00 (UTC)

@areskul - getting a build error:


   Compiling shared v0.2.0 (/distro/local/repository/pipelight/src/pipelight/shared)
error[E0583]: file not found for module `display`
 --> shared/src/types/logs/mod.rs:7:1
  |
7 | mod display;
  | ^^^^^^^^^^^^
  |
  = help: to create the module `display`, create file "shared/src/types/logs/display.rs" or "shared/src/types/logs/display/mod.rs"

warning: unused imports: `debug`, `error`, `info`, `warn`
 --> shared/src/cli/actions/mod.rs:5:11
  |
5 | use log::{debug, error, info, trace, warn};
  |           ^^^^^  ^^^^^  ^^^^         ^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused imports: `Args`, `ValueEnum`
 --> shared/src/cli/types.rs:3:12
  |
3 | use clap::{Args, Parser, Subcommand, ValueEnum};
  |            ^^^^                      ^^^^^^^^^

warning: unused import: `InfoLevel`
 --> shared/src/cli/types.rs:4:27
  |
4 | use clap_verbosity_flag::{InfoLevel, Verbosity};
  |                           ^^^^^^^^^

warning: unused imports: `Args`, `Subcommand`, `ValueEnum`
 --> shared/src/cli/mod.rs:5:12
  |
5 | use clap::{Args, Parser, Subcommand, ValueEnum};
  |            ^^^^          ^^^^^^^^^^  ^^^^^^^^^

warning: unused imports: `debug`, `error`, `info`, `trace`, `warn`
 --> shared/src/exec/subprocess/mod.rs:2:11
  |
2 | use log::{debug, error, info, trace, warn};
  |           ^^^^^  ^^^^^  ^^^^  ^^^^^  ^^^^

warning: unused import: `std::env`
 --> shared/src/exec/subprocess/mod.rs:3:5
  |
3 | use std::env;
  |     ^^^^^^^^

warning: unused import: `Output`
 --> shared/src/exec/subprocess/mod.rs:5:29
  |
5 | use std::process::{Command, Output, Stdio};
  |                             ^^^^^^

warning: unused import: `std::thread`
 --> shared/src/exec/subprocess/mod.rs:6:5
  |
6 | use std::thread;
  |     ^^^^^^^^^^^

warning: unused imports: `debug`, `error`, `info`, `trace`
 --> shared/src/exec/mod.rs:2:21
  |
2 | use crate::logger::{debug, error, info, trace, warn};
  |                     ^^^^^  ^^^^^  ^^^^  ^^^^^

warning: unused imports: `PipelineLog`, `PipelineStatus`, `StepLog`
 --> shared/src/exec/mod.rs:3:26
  |
3 | use crate::types::logs::{PipelineLog, PipelineStatus, StepLog, StrOutput};
  |                          ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^

warning: unused imports: `Pipeline`, `Step`
 --> shared/src/exec/mod.rs:4:20
  |
4 | use crate::types::{Pipeline, Step};
  |                    ^^^^^^^^  ^^^^

warning: unused import: `Reference`
 --> shared/src/git/mod.rs:1:12
  |
1 | use git2::{Reference, Repository};
  |            ^^^^^^^^^

warning: unused imports: `debug`, `error`, `info`, `trace`, `warn`
 --> shared/src/hooks/mod.rs:3:11
  |
3 | use log::{debug, error, info, trace, warn};
  |           ^^^^^  ^^^^^  ^^^^  ^^^^^  ^^^^

warning: unused import: `log4rs::Handle`
 --> shared/src/logger/config/mod.rs:8:5
  |
8 | use log4rs::Handle;
  |     ^^^^^^^^^^^^^^

warning: unused import: `project_root::get_project_root`
 --> shared/src/logger/config/mod.rs:9:5
  |
9 | use project_root::get_project_root;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `uuid`
  --> shared/src/logger/config/mod.rs:11:12
   |
11 | use uuid::{uuid, Uuid};
   |            ^^^^

warning: unused imports: `error`, `trace`
 --> shared/src/types/mod.rs:4:18
  |
4 | use log::{debug, error, info, trace, warn};
  |                  ^^^^^        ^^^^^

warning: unused imports: `debug`, `error`, `trace`, `warn`
 --> shared/src/types/logs/mod.rs:8:11
  |
8 | use log::{debug, error, info, trace, warn, LevelFilter};
  |           ^^^^^  ^^^^^        ^^^^^  ^^^^

error[E0277]: `PipelineLog` doesn't implement `std::fmt::Display`
  --> shared/src/logger/mod.rs:63:28
   |
63 |             println!("{}", pipeline);
   |                            ^^^^^^^^ `PipelineLog` cannot be formatted with the default formatter
   |
   = help: the trait `std::fmt::Display` is not implemented for `PipelineLog`
   = note: in format strings you may be able to use `{:?}` (or {:#?} for pretty-print) instead
   = note: this error originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)

Some errors have detailed explanations: E0277, E0583.
For more information about an error, try `rustc --explain E0277`.
warning: `shared` (lib) generated 18 warnings
error: could not compile `shared` due to 2 previous errors; 18 warnings emitted
warning: build failed, waiting for other jobs to finish...
==> ERROR: A failure occurred in build().
    Aborting...

i know it's a long one, but you had to see the top error and the blowout at the bottom.

areskul commented on 2022-12-21 20:34 (UTC)

@jghodd - Woaw!! You are pretty fast! Will you push this pipelight-plugin to the AUR?

jghodd commented on 2022-12-21 16:47 (UTC) (edited on 2022-12-21 16:52 (UTC) by jghodd)

@areskul - i went ahead and changed the old package name to pipelight-plugin, partly because it has several components with pipelight-plugin in the file name. also changed its Makefile to relocate some of its components to directories named pipelight-plugin vs just pipelight (/usr/lib/pipelight-plugin, /usr/share/pipelight-plugin) so as not to conflict with anything you do going forward (like adding a library, for instance). the changes are confined to my distro, and my users will be informed of the change. i'm pretty sure not many are using it, if any at all, but in the off-chance some of my users are still using it, they'll have the pipelight-plugin package to replace it. since it's the same source base, it's just a straight replacement package using the same versioning. unfortunately, i couldn't use the 'replaces' tag in the PKGBUILD, because that would have blocked the co-installation of both the old and new pipelight packages.

jghodd commented on 2022-12-21 02:03 (UTC)

@areskul - i'm fine with it being a new package of new software. the last time i built the old version was january, 2017. there is nothing that depends on it, so i'm good with what you've done. was just curious about what happened. thanks for the explanation.