aminya / aminya/setup-cpp

Intermittent warnings during installation (Ubuntu)

Open
#234 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
TypeScript
Stars
276
Forks
37
Avg merge
1d 4h
Merged PRs (30d)
12

Description

When setup-cpp prepares the apt-keys using gpg..
https://github.com/aminya/setup-cpp/blob/290824452986e378826155f3379d31bce8753d76/src/utils/setup/setupAptPack.ts#L190

the created files are not always available on disk when chmod is run
https://github.com/aminya/setup-cpp/blob/290824452986e378826155f3379d31bce8753d76/src/utils/setup/setupAptPack.ts#L199

which produces annotations warnings in the run like:

Failed to add apt key via server keyserver.ubuntu.com: Error: Command failed with exit code 1: sudo 'chmod' '644' '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg'

This behavior is intermittent and probably dependent on how loaded the Github runner/machine is.
Is this a know issue or would it be feasible to have a check that the file exists before performing the chmod?

Example logs:

2024-03-13T16:32:43.5134503Z gpg: keybox '/root/.gnupg/pubring.kbx' created
2024-03-13T16:32:43.5574851Z gpg: keyring '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg' created
2024-03-13T16:32:43.5769405Z gpg: keyring '/etc/apt/trusted.gpg.d/launchpad-toolchain.gpg' created
2024-03-13T16:32:44.5382292Z gpg: key 1E9377A2BA9EF27F: public key "Launchpad Toolchain builds" imported
2024-03-13T16:32:44.5466832Z gpg: key 1E9377A2BA9EF27F: "Launchpad Toolchain builds" not changed
2024-03-13T16:32:44.5467907Z gpg: Total number processed: 1
2024-03-13T16:32:44.5468560Z gpg:              unchanged: 1
2024-03-13T16:32:44.6642692Z gpg: Total number processed: 1
2024-03-13T16:32:44.6643420Z gpg:               imported: 1
2024-03-13T16:32:44.7015884Z gpg: key 3B4FE6ACC0B21F32: public key "Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>" imported
2024-03-13T16:32:44.7017891Z gpg: Total number processed: 1
2024-03-13T16:32:44.7018903Z gpg:               imported: 1
2024-03-13T16:32:44.7027072Z gpg: key 3B4FE6ACC0B21F32: "Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>" not changed
2024-03-13T16:32:44.7028461Z gpg: Total number processed: 1
2024-03-13T16:32:44.7029174Z gpg:              unchanged: 1
2024-03-13T16:32:44.7096843Z chmod: cannot access '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg': No such file or directory
2024-03-13T16:32:44.7098787Z gpg: key 40976EAF437D05B5: public key "Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>" imported
2024-03-13T16:32:44.7108203Z gpg: Total number processed: 1
2024-03-13T16:32:44.7137810Z ##[warning]Failed to add apt key via server keyserver.ubuntu.com: Error: Command failed with exit code 1: sudo 'chmod' '644' '/etc/apt/trusted.gpg.d/setup-cpp-ubuntu-archive.gpg'
2024-03-13T16:32:44.7146153Z gpg:               imported: 1
2024-03-13T16:32:44.7156879Z gpg: key 40976EAF437D05B5: "Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>" not changed
2024-03-13T16:32:44.7158035Z gpg: Total number processed: 1
2024-03-13T16:32:44.7158753Z gpg:              unchanged: 1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in src/utils/setup/setupAptPack.ts around lines 190 and 199, where apt keys are prepared and the generated files are passed to chmod. Review the logged ordering and determine how to verify the keyring file is available before chmod runs. Done means intermittent chmod failures and the resulting GitHub Actions warnings no longer occur during Ubuntu installation.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, typescript, ubuntu
Domain
ci-cd, devops, operating-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.