Giter Club home page Giter Club logo

guix-install-action's People

Contributors

daviwil avatar fishinthecalculator avatar mbakke avatar promyloph avatar roelj 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

Watchers

 avatar  avatar  avatar  avatar

guix-install-action's Issues

Many internal server errors

We use guix-install-action at https://github.com/atlas-engineer/nyxt/ (thanks a lot by the way, very useful!) but recently it has been failing increasingly at this line:

https://github.com/PromyLOPh/guix-install-action/blob/v1/action.yml#L33

See for instance
https://github.com/atlas-engineer/nyxt/runs/6399684430?check_suite_focus=true ๐Ÿ‘

Run PromyLOPh/guix-install-action@v1
Run echo LANG=en_US.utf8 >> $GITHUB_ENV
Run wget -nv https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh -O guix-install.sh
2022-05-12 04:09:03 URL:https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh [20087/20087] -> "guix-install.sh" [1]
https://ci.guix.gnu.org/search/latest/archive?query=spec:tarball+status:success+system:x86_64-linux+guix-binary.tar.xz:
2022-05-12 04:09:03 ERROR 500: Internal Server Error.
Error: Process completed with exit code 8.

Looks like the Guix CI is erroring out. Any idea?

Execution time improvements

I'm not sure how exactly Github Actions are executed on remote server. I suppose, currently it will guix pull every time it runs, which is a lot of redundant work to do. But there is probably a way to speed up this process. Do you have any idea about that?

ERROR: "unsupported manifest format"

I've been running a bunch of Guix actions today and systematically got this:


Run PromyLOPh/guix-install-action@v1
Run echo LANG=en_US.utf8 >> $GITHUB_ENV
Run wget -nv https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh -O guix-install.sh
2022-07-04 16:34:13 URL:https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh [20087/20087] -> "guix-install.sh" [1]
2022-07-04 16:34:18 URL:https://ci.guix.gnu.org/download/813 [98114060/98114060] -> "guix-binary-nightly.x86_64-linux.tar.xz" [1]
Run wget "https://sv.gnu.org/people/viewgpg.php?user_id=127547" -qO - | sudo gpg --import -
gpg: directory '/root/.gnupg' created
gpg: keybox '/root/.gnupg/pubring.kbx' created
gpg: key 1260E46482E63562: 2 signatures not checked due to missing keys
gpg: /root/.gnupg/trustdb.gpg: trustdb created
gpg: key 1260E46482E63562: public key "Maxim Cournoyer <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found
gpg: key 090B11993D9AEBB5: 127 signatures not checked due to missing keys
gpg: key 090B11993D9AEBB5: public key "Ludovic Courtรจs <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1
gpg: no ultimately trusted keys found
Run export GUIX_BINARY_FILE_NAME=guix-binary-nightly.x86_64-linux.tar.xz
    โ–‘โ–‘โ–‘                                     โ–‘โ–‘โ–‘
    โ–‘โ–‘โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘               โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–’โ–’โ–‘โ–‘
     โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘           โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’โ–‘
         โ–‘โ–’โ–’โ–’โ–‘โ–‘โ–’โ–’โ–’โ–’โ–’         โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–’โ–’โ–‘
               โ–‘โ–’โ–’โ–’โ–’โ–‘       โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
                โ–’โ–’โ–’โ–’โ–’      โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
                 โ–’โ–’โ–’โ–’โ–’     โ–‘โ–‘โ–‘โ–‘โ–‘
                 โ–‘โ–’โ–’โ–’โ–’โ–’   โ–‘โ–‘โ–‘โ–‘โ–‘
                  โ–’โ–’โ–’โ–’โ–’   โ–‘โ–‘โ–‘โ–‘โ–‘
                   โ–’โ–’โ–’โ–’โ–’ โ–‘โ–‘โ–‘โ–‘โ–‘
                   โ–‘โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘โ–‘โ–‘
                    โ–’โ–’โ–’โ–’โ–’โ–’โ–‘โ–‘โ–‘
                     โ–’โ–’โ–’โ–’โ–’โ–’โ–‘
     _____ _   _ _    _    _____       _
    / ____| \ | | |  | |  / ____|     (_)
   | |  __|  \| | |  | | | |  __ _   _ ___  __
   | | |_ | . ' | |  | | | | |_ | | | | \ \/ /
   | |__| | |\  | |__| | | |__| | |_| | |>  <
    \_____|_| \_|\____/   \_____|\__,_|_/_/\_\
This script installs GNU Guix on your system
https://www.gnu.org/software/guix/
Press return to continue...[1656952459.771]: Starting installation (Mon 04 Jul 2022 04:34:19 PM UTC)
[1656952459.773]: [ PASS ] verification of required commands completed
[1656952459.793]: [ INFO ] init system is: systemd
[1656952459.801]: [ WARN ] We recommend installing and/or starting your distribution 'nscd' service
[1656952459.802]: [ WARN ] Please read 'info guix "Application Setup"' about "Name Service Switch"
[1656952459.803]: [ INFO ] system is x86_64-linux
[1656952459.804]: [ INFO ] Using manually provided binary guix-binary-nightly.x86_64-linux.tar.xz
[1656952467.876]: [ PASS ] unpacked archive
[1656952467.877]: [ INFO ] Installing /var/guix and /gnu...
[1656952467.881]: [ INFO ] Linking the root user's profile
[1656952467.885]: [ PASS ] activated root profile at /root/.config/guix/current
[1656952467.908]: [ PASS ] group <guixbuild> created
[1656952467.910]: [ INFO ] group kvm exists and build users will be added to it
[1656952467.933]: [ PASS ] user added <guixbuilder01>
[1656952467.948]: [ PASS ] user added <guixbuilder02>
[1656952467.964]: [ PASS ] user added <guixbuilder03>
[1656952467.979]: [ PASS ] user added <guixbuilder04>
[1656952467.995]: [ PASS ] user added <guixbuilder05>
[1656952468.010]: [ PASS ] user added <guixbuilder06>
[1656952468.026]: [ PASS ] user added <guixbuilder07>
[1656952468.041]: [ PASS ] user added <guixbuilder08>
[1656952468.057]: [ PASS ] user added <guixbuilder09>
[1656952468.073]: [ PASS ] user added <guixbuilder10>
Created symlink /etc/systemd/system/guix-daemon.service.wants/gnu-store.mount โ†’ /etc/systemd/system/gnu-store.mount.
Created symlink /etc/systemd/system/multi-user.target.wants/guix-daemon.service โ†’ /etc/systemd/system/guix-daemon.service.
[1656952469.096]: [ PASS ] enabled Guix daemon via systemd
[1656952469.097]: [ INFO ] making the guix command available to other users
Backtrace:
In ice-9/boot-9.scm:
   222:29 19 (map1 (((srfi srfi-1)) ((srfi srfi-9)) ((srfi #)) (#) โ€ฆ))
   222:29 18 (map1 (((srfi srfi-9)) ((srfi srfi-11)) ((srfi #)) (#) โ€ฆ))
   222:29 17 (map1 (((srfi srfi-11)) ((srfi srfi-26)) ((srfi #)) # โ€ฆ))
   222:29 16 (map1 (((srfi srfi-26)) ((srfi srfi-34)) ((srfi #)) # โ€ฆ))
   222:29 15 (map1 (((srfi srfi-34)) ((srfi srfi-35)) ((srfi #)) # โ€ฆ))
   222:29 14 (map1 (((srfi srfi-35)) ((srfi srfi-37)) ((gnu #)) (โ€ฆ) โ€ฆ))
   222:29 13 (map1 (((srfi srfi-37)) ((gnu packages)) ((guix #) โ€ฆ) โ€ฆ))
   222:17 12 (map1 (((gnu packages)) ((guix status) #:select (#)) # โ€ฆ))
  3327:17 11 (resolve-interface (gnu packages) #:select _ #:hide _ # โ€ฆ)
In ice-9/threads.scm:
    390:8 10 (_ _)
In ice-9/boot-9.scm:
  3253:13  9 (_)
In ice-9/threads.scm:
    390:8  8 (_ _)
In ice-9/boot-9.scm:
  3544:20  7 (_)
   2836:4  6 (save-module-excursion #<procedure 7f63d5938cf0 at ice-โ€ฆ>)
  3564:26  5 (_)
In unknown file:
           4 (primitive-load-path "gnu/packages" #<procedure 7f63d59โ€ฆ>)
In gnu/packages.scm:
   150:17  3 (_)
In guix/describe.scm:
   123:12  2 (package-path-entries)
   110:24  1 (_)
In ice-9/ports.scm:
   433:17  0 (call-with-input-file _ _ #:binary _ #:encoding _ # _)
ice-9/ports.scm:433:17: In procedure call-with-input-file:
ERROR:
  1. &message: "unsupported manifest format"
yes: standard output: Broken pipe
Error: Process completed with exit code 1.

Any idea what's going on?

Guix install action stuck after guix install script change

Currently, the install action terminates (on Ubuntu20.04 runners) after creating the systemd entry (example log), i.e. at the first yes/no prompt.

This is the first point that the guix-install script as it is executed by the action encounters the recently modified prompt_yes_no() function. It was modified in this commit. Apparently, the changes lead to the yes utility no longer adequatly stopping the prompt...

Guix died unexpectedly

building /gnu/store/f13b12c633n0xdjasawm9rihamr7yv9d-gcc-cross-x86_64-linux-gnu-10.3.0.drv...
building /gnu/store/b7nqdcpqikxi1q3j0v6fm91805c4zmdk-x86_64-linux-gnu-toolchain-10.3.0.drv...
substitute: 
substitute: updating substitutes from 'https://ci.guix.gnu.org/'...   0.0%guix substitute: error: TLS error in procedure 'write_to_session_record_port': Error in the push function.
guix environment: error: `/gnu/store/4lmpqf8dnk86avq5xa2l6bznxnmrz27x-guix-1.4.0-7.44bbfc2/bin/guix substitute' died unexpectedly

It's happen every time on Github action and not happen on real machine or VM Ubuntu 22.04

Path to channels

Hello, how can I provide the channels setting as a path on my checkout, instead of a string in the action?

Unprivileged `guix pull` fails

Hi! :-)

When using this action and running a new guix pull, i.e.:

      - name: Install Guix
        uses: PromyLOPh/guix-install-action@v1
      - name: Add custom channel
        run: guix pull -C ./channels.scm

...the channels step fails with:

Migrating profile generations to '/var/guix/profiles/per-user/runner'...
guix pull: error: while creating symlink '/home/runner/.config/guix/current': File exists
Error: Process completed with exit code 1.

This is because of a Ubuntu quirk: sudo on Ubuntu preserves the invoking users $HOME, causing the wrong ~/.config/guix/current symlink.

I tried adding passing the --set-home and --login arguments to sudo to no avail.

One workaround is to delete the unprivileged users ~/.config/guix after running this action:

      - name: Work around Ubuntu quirk
        run: sudo rm -rf ~/.config/guix

...or just keep running sudo guix ..., as it does not really matter.

Broken since February 2023

The Install Guix phase has recently started failing with

[1677520229.916]: [ INFO ] Linking the root user's profile
[1677520230.118]: [ PASS ] activated root profile at /root/.config/guix/current
[1677520230.169]: [ PASS ] group <guixbuild> created
[1677520230.173]: [ INFO ] group kvm exists and build users will be added to it
[1677520230.246]: [ PASS ] user added <guixbuilder01>
[1677520230.270]: [ PASS ] user added <guixbuilder02>
[1677520230.297]: [ PASS ] user added <guixbuilder03>
[1677520230.339]: [ PASS ] user added <guixbuilder04>
[1677520230.375]: [ PASS ] user added <guixbuilder05>
[1677520230.420]: [ PASS ] user added <guixbuilder06>
[1677520230.452]: [ PASS ] user added <guixbuilder07>
[1677520230.479]: [ PASS ] user added <guixbuilder08>
[1677520230.512]: [ PASS ] user added <guixbuilder09>
[1677520230.542]: [ PASS ] user added <guixbuilder10>
Created symlink /etc/systemd/system/guix-daemon.service.wants/gnu-store.mount โ†’ /etc/systemd/system/gnu-store.mount.
Unit /etc/systemd/system/gnu-store.mount is added as a dependency to a non-existent unit guix-daemon.service.
Created symlink /etc/systemd/system/multi-user.target.wants/guix-daemon.service โ†’ /etc/systemd/system/guix-daemon.service.
[1677520232.146]: [ PASS ] enabled Guix daemon via systemd
[1677520232.149]: [ INFO ] making the guix command available to other users
[1677520232.474]: [ PASS ] Authorized public key for ci.guix.gnu.org
[1677520232.632]: [ PASS ] Authorized public key for bordeaux.guix.gnu.org
[1677520232.647]: [ PASS ] installed shell completion
[1677520232.701]: [ PASS ] Bash shell prompt successfully customized for Guix
[1677520232.703]: [ INFO ] cleaning up /tmp/guix.KiwyEv
[1677520232.705]: [ PASS ] Guix has successfully been installed!
[1677520232.707]: [ INFO ] Run 'info guix' to read the manual.
[1677520232.709]: [ INFO ] Please log out and back in to complete the installation.
yes: standard output: Broken pipe
Error: Unable to process file command 'env' successfully.
Error: Access to the path '/home/runner/work/_temp/_runner_file_commands/set_env_ce49b965-d6e4-4c91-8f30-d2ab253d8be5' is denied.
Error: Unable to process file command 'state' successfully.
Error: Access to the path '/home/runner/work/_temp/_runner_file_commands/save_state_ce49b965-d6e4-4c91-8f30-d2ab253d8be5' is denied.
Error: Unable to process file command 'output' successfully.
Error: Access to the path '/home/runner/work/_temp/_runner_file_commands/set_output_ce49b965-d6e4-4c91-8f30-d2ab253d8be5' is denied.
Error: Unable to process file command 'env' successfully.
Error: Access to the path '/home/runner/work/_temp/_runner_file_commands/set_env_00feac3d-a6fe-4153-b14f-0323783bb262' is denied.
Error: Unable to process file command 'state' successfully.
Error: Access to the path '/home/runner/work/_temp/_runner_file_commands/save_state_00feac3d-a6fe-4153-b14f-0323783bb262' is denied.
Error: Unable to process file command 'output' successfully.
Error: Access to the path '/home/runner/work/_temp/_runner_file_commands/set_output_00feac3d-a6fe-4153-b14f-0323783bb262' is denied.

I presume it's due to a change in the GitHub CI API. @PromyLOPh Any idea?

Showcase docker image output in docs

Hello, just started using your Github Action, and I've super easily been able to use it to create docker image tarballs.
I feel this is so nice as to be worth advertising on the cover page of the project, as well as in the demo yaml.

See my half-baked docker image building PR on a toy Rust project, though my understanding of Github Actions is limited, you may do something nicer than I did.

Yes, this just means showing that --format docker is supported in the READMEs. And yes it's guix doing all the hard work, but it's kind of a massive positive for a CI system, showcasing creating docker images.

Feel free to close this armchair contribution if it's not worth it. Cheers

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.