action #160688
closedcpanspec: Run autoupdate for devel:languages:perl in github workflow size:M
0%
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
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
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.
Updated by tinita 5 months ago
https://github.com/openSUSE/autoupdate-perl/pull/1 Add Dockerfile for running autoupdate
Updated by tinita 5 months ago
https://github.com/openSUSE/autoupdate-perl/pull/2 Add workflows for updating devel:languages:perl
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.
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
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
Updated by tinita 4 months ago
https://github.com/openSUSE/cpanspec/pull/53 Remove files for autoupdate
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?
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