Project

General

Profile

Actions

action #160688

closed

cpanspec: Run autoupdate for devel:languages:perl in github workflow size:M

Added by tinita 6 months ago. Updated 4 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
Start date:
2024-05-21
Due date:
2024-07-13
% Done:

0%

Estimated time:

Description

See also my report on the Perl Toolchain Summit: https://perlpunk.github.io/posts/2024-05-the-annual-perl-toolchain-summit/ "Running cpanspec"

I started to do this already for a past hack week but then was never able to finish it.

It's now the second attempt, and I should reserve some time for this to actually finish it.

Acceptance criteria

AC1: autoupdate devel:languages:perl runs in a github cron workflow that can also be dispatched when necessary
AC2: We have an up-to-date container in OBS that is used in the workflow
AC3: devel:languages:perl:CPAN-{A..Z} are still updated on our internal host, using the new https://github.com/openSUSE/autoupdate-perl repo
AC4: autoupdate code is not duplicated (e.g. remove it from https://github.com/openSUSE/cpanspec)

Tasks

  • Github Workflow
  • Container in OBS with service trigger
  • devel:languages:perl:CPAN-{A..Z} are updated on our cloud server using podman with the new container, so that updating the server or moving it somewhere else is easier
  • Remove autoupdate code from cpanspec repo

Related issues 1 (1 open0 closed)

Copied to QA - action #163571: cpanspec: Move cronjob for auto updating devel:languages:perl:CPAN-{A..Z} off the obsolete engcloud size:MIn Progresstinita2024-11-29

Actions
Actions #1

Updated by livdywan 6 months ago

  • Subject changed from cpanspec: Run autoupdate for devel:languages:perl in github workflow to cpanspec: Run autoupdate for devel:languages:perl in github workflow size:m
  • Description updated (diff)
  • Status changed from New to Workable
Actions #2

Updated by okurz 6 months ago

  • Subject changed from cpanspec: Run autoupdate for devel:languages:perl in github workflow size:m to cpanspec: Run autoupdate for devel:languages:perl in github workflow size:M
Actions #3

Updated by tinita 5 months ago

  • Status changed from Workable to In Progress
Actions #4

Updated by openqa_review 5 months ago

  • Due date set to 2024-07-06

Setting due date based on mean cycle time of SUSE QE Tools

Actions #5

Updated by tinita 5 months ago

I created a dispatch workflow: https://github.com/perlpunk/autoupdate-perl/blob/workflow/.github/workflows/run.yaml
https://github.com/perlpunk/autoupdate-perl/actions/runs/9627967578/job/26555679532

It still needs some tweaks.

For now I can trigger it with gh cli or in the github web ui. A cron workflow should be added later, the input values for it should come from repository variables.

Actions #6

Updated by tinita 5 months ago

  • Status changed from In Progress to Workable
Actions #7

Updated by tinita 5 months ago

  • Status changed from Workable to In Progress
Actions #8

Updated by tinita 5 months ago

https://github.com/openSUSE/autoupdate-perl/pull/1 Add Dockerfile for running autoupdate

Actions #10

Updated by tinita 5 months ago

  • Description updated (diff)
Actions #11

Updated by tinita 5 months ago

  • Description updated (diff)
Actions #12

Updated by tinita 5 months ago

  • Description updated (diff)
Actions #13

Updated by tinita 5 months ago

https://github.com/openSUSE/autoupdate-perl/pull/2 Add workflows for updating devel:languages:perl

Actions #14

Updated by tinita 5 months ago

  • Due date changed from 2024-07-06 to 2024-07-13

Bumping due date due to openSUSE conf

Actions #15

Updated by tinita 5 months ago

The CPAN-{A..Z} updates on our cloud server will now run in a container, so it will be easy to move that to any other server.
We only need podman and a cpanmirror user.
Next run tomorrow morning.

% crontab -l
IMAGE=registry.opensuse.org/home/tinita/cpanspec/container/containers/opensuse/autoupdate-perl
5 2 * * * podman run -it --rm --userns=keep-id -v$HOME:/home/$USER $IMAGE /home/$USER/autoupdate-perl/bin/fetch-cpan.sh >> $HOME/obs-mirror/logs/cpan.log 2>&1
5 4 * * * podman run -it --rm --userns=keep-id -v$HOME:/home/$USER $IMAGE /home/$USER/autoupdate-perl/bin/update-dlp-cpan.sh >> $HOME/obs-mirror/logs/cpanupdate.log 2>&1

The autoupdate-perl cron workflow is enabled and should run tomorrow morning.
https://github.com/openSUSE/autoupdate-perl/actions

Regarding running the Makefile.PL isolated I think I'll go for sudoing to a different user for now.

Actions #16

Updated by tinita 4 months ago

I added documentation to
https://confluence.suse.com/pages/viewpage.action?pageId=450594448

The d:l:p:autoupdate works fine as a Github workflow, and the CPAN-{A..Z} updates are also running fine in a container on our cloud server.
On the cloud server I also added an extra user that cpanmirror will sudo to.

@kraih is now also maintainer of https://github.com/openSUSE/autoupdate-perl

Actions #17

Updated by tinita 4 months ago

  • Copied to action #163571: cpanspec: Move cronjob for auto updating devel:languages:perl:CPAN-{A..Z} off the obsolete engcloud size:M added
Actions #18

Updated by okurz 4 months ago

@tinita why do you add documentation for openSUSE and OBS relevant workflows on SUSE internal documentation places?

Actions #19

Updated by tinita 4 months ago

Actions #20

Updated by livdywan 4 months ago

tinita wrote in #note-19:

https://github.com/openSUSE/cpanspec/pull/53 Remove files for autoupdate

Has 2 approvals now.

Could please you clarify if this is realistic to be wrapped up today or otherwise extend the due date with an according comment?

Actions #21

Updated by tinita 4 months ago

  • Status changed from In Progress to Feedback

https://github.com/openSUSE/autoupdate-perl/pull/6 Add documentation about the new workflow

Actions #22

Updated by tinita 4 months ago

  • Status changed from Feedback to Resolved
Actions

Also available in: Atom PDF