Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update of the .ci for mrfioc2 module #96

Closed
jerzyjamroz opened this issue Sep 25, 2024 · 6 comments
Closed

Update of the .ci for mrfioc2 module #96

jerzyjamroz opened this issue Sep 25, 2024 · 6 comments

Comments

@jerzyjamroz
Copy link

I have tried to update the .ci for mrfioc2 to the more recent one (v3.4.1) but I found that the removal of this line in the commit:
5b123f4#diff-92c00425ee1a7de462e26dc3689760f2f872864a9105dc40c2f73c3b29bfb348L264
breaks the RTEMS jobs:
https://github.com/jerzyjamroz/mrfioc2/actions/runs/11030952401

How do I update the .ci?

P.S.
it looks like "/home/travis/.rtems"

/home/runner/.cache/base-7.0/configure/os/CONFIG.Common.RTEMS:37: /home/travis/.rtems/i386-rtems4.10/pc386/Makefile.inc: No such file or directory

is hardcoded somewhere.

jerzyjamroz added a commit to jerzyjamroz/mrfioc2 that referenced this issue Oct 4, 2024
Workaround of /home/travis/.rtems for RTEMS is added.
Future .ci updates require evaluation of:
epics-base/ci-scripts#96
@jerzyjamroz
Copy link
Author

I added the /home/travis/.rtems hack to epics-modules/mrfioc2#188
and I was able to update the .ci up to v3.3, before this commit: 514737a as it changes the way of RTEMS handling.

Could you advice how to adjust the mrfioc2 template for rtems in here:
https://github.com/epics-modules/mrfioc2/blob/master/.github/workflows/ci-scripts-build.yml

          - os: ubuntu-20.04
            cmp: gcc
            configuration: default
            base: "7.0"
            rtems: "4.10"

          - os: ubuntu-20.04
            cmp: gcc
            configuration: default
            base: "7.0"
            rtems: "4.9"

so to support the newest .ci? Or could you refer to a manual supporting that information?

@anjohnson
Copy link
Member

Look at the equivalent file in the epics-base project, that should show you what the latest release needs. I think that should be just replacing the rtems: entries with cross: "[email protected]" and cross: "[email protected]" ones, but there might have been some other changes that I've forgotten about. Keep the base: "7.0" entries that you have though, epics-base itself doesn't need them.

@jerzyjamroz
Copy link
Author

jerzyjamroz commented Oct 7, 2024

@anjohnson , you were right, it works: epics-modules/mrfioc2#189

P.S.
rtems variable had to be removed as it was introducing a non-existing configuration.

@jerzyjamroz
Copy link
Author

@anjohnson , but there is something:
https://github.com/jerzyjamroz/mrfioc2/actions/runs/11216544438 (yesterday, commit: 1448de6)
vs
https://github.com/jerzyjamroz/mrfioc2/actions/runs/11234371421 (today, commit: 1448de6)
the same commit hash: 1448de6 but yesterday it was working and today it failed.

@anjohnson
Copy link
Member

Hi, the first time your GHA jobs ran they cached the builds of the module's dependencies (EPICS Base built for each of the RTEMS targets). You can find information about the caches on this page. The subsequent jobs that failed were able to install the cached files, but they didn't work for some reason. You can delete those cache files on the page I linked above, after which the next build for those targets will rebuild the dependencies again and will hopefully pass, but the next build would probably fail again so that's not a proper fix.

I don't know why the generated cache files aren't compatible with subsequent builds, it may be that your ci-scripts-build.yml file needs some other changes in the "Cache Dependencies" step. Maybe @ralphlange or @mdavidsaver might be able to suggest why as they wrote those parts of the ci-scripts package.

@jerzyjamroz
Copy link
Author

jerzyjamroz commented Oct 9, 2024

@anjohnson , following your recommendation, I added this fix: https://github.com/epics-modules/mrfioc2/blob/f9715414bf68c1e69b0151bc7e693ef134b93fdf/.github/workflows/ci-scripts-build.yml#L117-L120 , now it works fine https://github.com/epics-modules/mrfioc2/actions/runs/11252139529

Regardless, I would propose the following upgrade:

"RTEMS_BASE": "/opt/rtems/" + version,
so to change it to ~/.cache/opt/rtems - why to introduce /opt location?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants