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)

Latest Comments

1 2 Next › Last »

lafleur commented on 2025-01-07 02:49 (UTC)

Also, as stated in the PKGBUILD article, base-devel is assumed installed, so make should not appear in the makedepends array.

lafleur commented on 2025-01-07 02:39 (UTC)

Building this package fails because the SSL certificate for https://packages.pipelight.dev/ is invalid. This makes its contents highly unreliable. I wouldn't want to get a package from an unreliable source anyway.

Besides, I understand this PKGBUILD is ment to provide a binary package. If that is the case, I would expect it to be named pipelight-bin, conforming with instructions in the AUR submission guidelines.

Also, the url field in the PKGBUILD should point to the upstream URL, as noted in ArchWiki's article on PKGBUILD - in that case https://pipelight.dev. For the download URL one should use the source field, even for binary releases (see the same article).

Given all these issues, may I suggest you follow guidelines of the Creating packages article of the ArchWiki ?

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?