Giter Site home page Giter Site logo

2m / arch-pkgbuild-builder Goto Github PK

View Code? Open in Web Editor NEW
34.0 5.0 25.0 87 KB

Arch Linux PKGBUILD GitHub builder action

Home Page: https://github.com/marketplace/actions/arch-linux-pkgbuild-builder-action

Dockerfile 3.07% Shell 80.49% Just 16.45%

arch-pkgbuild-builder's Introduction

Arch Linux PKGBUILD builder action

This action builds an validates Arch Linux package. The PKGBUILD and .SRCINFO files should be under a subdirectory named the same as the pkgbuild of the package. This assumption is made so this action works well with aurpublish.

Inputs

target

Required Validation target. Can be one of: pkgbuild, srcinfo, run.

pkgname

Required Path to DIRECTORY where the PKGBUILD file is. Assumes the directory is the name of package, ie /path/to/pkgname/'

Example usage

pkgbuild

Verifies and builds the package.

uses: 2m/[email protected]
with:
  target: 'pkgbuild'
  pkgname: 'ucm-bin'

srcinfo

Verifies if the .SRCINFO is up to date with the PKGBUILD.

uses: 2m/[email protected]
with:
  target: 'srcinfo'
  pkgname: 'ucm-bin'

run

Installs the package and runs a given command.

uses: 2m/[email protected]
with:
  target: 'run'
  pkgname: 'ucm-bin'
  command: `ucm --version`

debug mode (optional)

Add a debug: true key, ie.

uses: 2m/[email protected]
with:
  debug: true
  target: 'srcinfo'
  pkgname: 'ucm-bin'

This will run entrypoint.sh with set -x on.

Used by

So far this action is used by the following packages:

arch-pkgbuild-builder's People

Contributors

2m avatar dependabot[bot] avatar github-actions[bot] avatar gr211 avatar kunzese avatar mergify[bot] avatar ouuan avatar pheiduck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

arch-pkgbuild-builder's Issues

The Docker image is outdated

The Docker image is outdated (9 month old, a huge time for Arch), which cause failure for some of my packages.

For example cargo from the rust packages is at version 1.57.0, and the latest is 1.64.0.

Maybe the action should run pacman -Syu automatically?

Signature errors

I am getting signature errors for some package installs:

error: pacman-contrib: signature from "Daniel M. Capella <[email protected]>" is unknown trust
:: File /var/cache/pacman/pkg/pacman-contrib-1.7.1-1-x86_64.pkg.tar.zst is corrupted (invalid or corrupted package (PGP signature)).

I think you may need to manually update archlinux-keyring for the container.

How to add dependency packages to `docker:archlinux`

Hello, I want to add the dependency package sudo pacman-Syu p7zip wine wine-mono wine_gecko xorg-xwininfo wqy-microhei lib32-alsa-lib lib32-alsa-plugins lib32-libpulse lib32-openal lib32-mpg123 lib32-gnutls to docker:archlinux. What should I do? Thanks!

Action failing for target srcinfo

The action was failing on my repository, for the target 'srcinfo'.
I tried to verify if my .SRCINFO was incorrect, tried the same with paru (https://aur.archlinux.org/packages/paru/), and it seems it fails for other AUR packages too.

2021-06-08_01-02

I can't seem to know why that diff is being shown, sorry if it turns out to be something stupid ๐Ÿ˜…

This is my pkgbuild.yml -

name: pkgbuild

on: ['push','pull_request']

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: 2m/[email protected]
      with:
        target: 'srcinfo'
        pkgname: '.'
    - uses: 2m/[email protected]
      with:
        target: 'pkgbuild'
        pkgname: '.'

The problem doesn't come up when tried on my system (the above part is output of cat -A .SRCINFO -

2021-06-08_01-07

ERROR: One or more PGP signatures could not be verified!

Hi there!

I am trying to use this github action to build a custom linux kernel in the github CI, but I can't seem to figure out how to add the signing PGP key to the keychain...

I have this very simple workflow:

name: build_archlinux_package

on: ['push','pull_request']

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v2
    - uses: 2m/[email protected]
      with:
        target: 'srcinfo'
        pkgname: '.'
    - uses: 2m/[email protected]
      with:
        target: 'pkgbuild'
        pkgname: '.'

And github actions give me this output at the end of the Run 2m/[email protected] stage:

==> Verifying source file signatures with gpg...
    linux-6.5.9.tar ... FAILED (unknown public key 38DBBDC86092693E)
    linux-v6.5.9-arch2.patch.zst ... FAILED (unknown public key 3B94A80E50A477C7)
==> ERROR: One or more PGP signatures could not be verified!

I have searched the documentation and looked at the other examples of projects using this workflow but can't seem to find how to handle PGP keys. Any help would be much appreciated.

Regards,
Mark.

[ToDo] Implement Mergify to automate dependency updates

As I mentions in this PR: #22 (comment) you can Safely implement mergify on this Repository. I have tested it on some of my own Repos and it worked as expected.
It has "the same" behavior like the github action.
Things that can not done by me on this repo:

  • You need to have a account on mergify as maintainer of this repo.

python-matplotlib is not installing in the system

Hi @2m, I am using the image

$ docker run -it --rm martynas/archlinux

but when I am installing python-networkx, the packages python-pandas, python-matplotlib, python-scipy, python-numpy are not installing.

โžœ  ~ yay -Si python-networkx
Repository      : community
Name            : python-networkx
Version         : 2.6.3-1
Description     : Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
Architecture    : any
URL             : https://networkx.github.io
Licenses        : BSD
Groups          : None
Provides        : None
Depends On      : python-numpy  python-scipy  python-matplotlib  python-pandas
Optional Deps   : python-lxml: for GraphML XML format
                  python-pydot: for graph drawing and graph layout algorithms via GraphViz
                  python-yaml: for YAML format reading and writing
Conflicts With  : None
Replaces        : None
Download Size   : 2.18 MiB
Installed Size  : 15.18 MiB
Packager        : Felix Yan <[email protected]>
Build Date      : Sat 11 Sep 2021 09:35:53 PM -05
Validated By    : MD5 Sum  SHA-256 Sum  Signature
[build@16dc5e9977d0 ~]$ yay -Syu python-networkx
:: Synchronizing package databases...
 core
 core is up to date extra
 extra is up to date community
 community is up to date:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...

Packages (2) python-decorator-5.0.9-1  python-networkx-2.5.1-2

Total Download Size:    1.95 MiB
Total Installed Size:  12.95 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 python-decorator-5.0.9-1-any
 Total (0/2)                                                                 0.0   B  0.00   B/s 00:00 [------------------------------------------------------------]   0%
 python-networkx-2.5.1-2-anyy                                               15.8 KiB  39.7 KiB/s 00:00 [############################################################] 100%
 Total (1/2)                                                                15.8 KiB  0.00   B/s --:-- [------------------------------------------------------------]   0%
 Total (2/2)                                                              1997.3 KiB   115 KiB/s 00:17 [############################################################] 100%
(2/2) checking keys in keyring                                                                         [############################################################] 100%
(2/2) checking package integrity                                                                       [############################################################] 100%
(2/2) loading package files                                                                            [############################################################] 100%
(2/2) checking for file conflicts                                                                      [############################################################] 100%
:: Processing package changes...
(1/2) installing python-decorator                                                                      [############################################################] 100%
(2/2) installing python-networkx                                                                       [############################################################] 100%
Optional dependencies for python-networkx
    python-numpy: Provides sparse matrix representation of graphs and many numerical scientific tools.
    python-scipy: Provides flexible drawing of graphs.
    python-pyparsing: Required for pydot, GML file reading.
    python-yaml: Required for YAML format reading and writing.
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...
:: Searching databases for updates...
:: Searching AUR for updates...

With the official images, there are no problems. Some help?

Doesn't handle optional dependencies gracefully

I tried this out for building the electron package, and it seems to work. However I had to manually set the optional dependencies to hard dependencies to get it past the dependencies stage.

Is this intended behaviour? If it isn't working without the optional dependencies shouldn't the action detect that and try with those dependencies included?

With those dependencies not in optdepends: gives failure, source.

With those optional depedencies added to makedepends: gives success (at least past the other attempt), source.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.