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

Fixing CI builds of version 1.117 #192

Draft
wants to merge 10 commits into
base: version/1.117
Choose a base branch
from

Conversation

rptb1
Copy link
Member

@rptb1 rptb1 commented Mar 8, 2023

Working on #124 .

Work plan:

  1. Cherry pick CI changes from master using procedure described here MPS needs a Git-specific procedures section #190 (comment)
  2. Fix up build issues, as far as possible by cherry picking from master.

rptb1 and others added 4 commits March 8, 2023 12:20
…le with all the versions of Clang that we need to support.

Copied from Perforce
 Change: 196189

(cherry picked from commit 8a5118d)
Git version 2.32 added the backwards-incompatible "feature" that
.gitignore files that are symbolic links are ignored. Since all our
.gitignore files are symbolic links to the .p4ignore file in the same
directory, for compatibility between the Perforce and Git mirrors of
the repository, this broke "git status" for us and all our users.

See https://github.com/git/git/blob/master/Documentation/RelNotes/2.32.0.txt

This change swaps the files so that .p4ignore is a symbolic link to
.gitignore in each case.

(cherry picked from commit 1b5ab83)
@rptb1
Copy link
Member Author

rptb1 commented Mar 8, 2023

Notes on tactics.

I searched for relevant commits to master using commands like git log --oneline --first-parent -E --grep '^Merg.*ci' master then attempted to cherry pick them using commands like git cherry-pick -x -m 1 1b5ab8313. This worked when the same change could be applied.

However, this isn't always the case. For example, branch/2021-01-10/implicit-conversion can't be applied as-is to version 1.115 because it depends on an earlier branch branch/2016-03-04/spare-fraction, but that branch modifies the behaviour of the MPS and should not be merged into version 1.115. So some thought will be required to make an equivalent change.

rb@plover:~/git/mps$ git log --oneline --first-parent -E -G 'ArenaSpareCommitLimit' master
8797baba7 Merge pull request #52 from Ravenbrook/branch/2021-01-10/implicit-conversion
71da28232 Merge branch/2016-03-04/spare-fraction into the master sources.
0beab5fe3 merging from MMdrj_devel_arena_hysteresis, change.epcore.brisling.160132

rptb1 and others added 3 commits March 8, 2023 13:20
…version

Ensure that the MPS builds with Clang 10.

(cherry picked from commit 8797bab)
… 92 <#92>.

(cherry picked from commit 5eacd32)

Extending the above to MV compatibility code for version 1.115.
@rptb1 rptb1 self-assigned this Mar 8, 2023
@rptb1 rptb1 added the build Problems with builds and build automation label Mar 8, 2023
@rptb1 rptb1 added this to the Perforce Divorce milestone Mar 8, 2023
Xcode 10.0 no longer supports building for IA-32, so the MPS can no longer support building for xci3ll using Xcode.
Revise example Scheme interpreter so that it can be compiled even if getopt.h includes unistd.h (as it does on macOS).

Copied from Perforce
 Change: 195090

(cherry picked from commit 51ef1eb)
@rptb1
Copy link
Member Author

rptb1 commented Mar 12, 2023

Manual is up (sans designs) at https://memory-pool-system--192.org.readthedocs.build/en/192/

At this point the macOS build is breaking because Xcode no longer supports i386 (since version 10 I think) and I have limited access to macOS.

@thejayps thejayps added the optional Will cause failures / of benefit. Worth assigning resources. label Mar 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Problems with builds and build automation optional Will cause failures / of benefit. Worth assigning resources.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants