Skip to content

Conversation

@neatudarius
Copy link
Member

@neatudarius neatudarius commented Apr 7, 2025

Description

Add tutorial: Compiler Explorer Deployment - #70

Prerequisite of #110 .

Testing

N/A

Meta

N/A

  • If all approvals are obtained and the PR is green, any Beman member can merge the PR.

@neatudarius neatudarius changed the title Create tutorial: deployment-on-compiler-explorer.md Create Compiler Explorer Deployment tutorial Apr 7, 2025
@neatudarius
Copy link
Member Author

neatudarius commented Apr 7, 2025

@partouf, as owner in @compiler-explorer org, would you please review this tutorial for Beman integration with Compiler Explorer? It's working, but I would like a faster approach for compiler-infra [main] ./update_compilers/install_libraries.sh / ./bin/ce_install install librariesto deploy a single library, if possible. Is there any such solution? (MacOS and Linux/Ubuntu). I couldn't find a shortcut in docs or scripts. And for MacOS I have some problems with docker-compose, so I found this script.

Note: I plan to integrate a dozen of Beman libraries in the next year. We'll have 2 modes:

  • Each library integrated as an individual header-only library - e.g. beman.optional
  • FUTURE: We'll have a library, e.g., beman, which will incorporate all libraries in Beman (similar to boost). TBD if and when we'll do that.

@neatudarius neatudarius requested a review from RaduNichita April 7, 2025 19:24
@neatudarius neatudarius force-pushed the neatudarius-patch-12 branch from d852c7a to f6972d0 Compare April 7, 2025 19:41
@partouf
Copy link

partouf commented Apr 7, 2025

@partouf, as owner in @compiler-explorer org, would you please review this tutorial for Beman integration with Compiler Explorer? It's working, but I would like a faster approach for compiler-infra [main] ./update_compilers/install_libraries.sh to deploy a single library, if possible. Is there any such solution? (MacOS and Linux/Ubuntu). I couldn't find a shortcut in docs or scripts. And for MacOS I have some problems with docker-compose, so I found this script.

What I usually do is (in infra):

  • make ce <- if you haven't done it yet or the python depencies have changed
  • bin/ce_install --enable nightly install beman_iterator_interface <- enable condition for nightly libraries and install things matching beman_iterator_interface
  • bin/ce_install --enable nightly install beman_optional

If you have some compilers installed in the same places as CE has, you could use those to build as well, for example:

  • bin/ce_install install 'x86/gcc 14.2.0' <- to install gcc 14.2.0
  • bin/ce_install --dry-run --keep-staging --enable nightly build --buildfor g142 beman_iterator_interface <- build with gcc "g142" and keep the build directory. That will placed by default in /opt/compiler-explorer/staging/[random directory name]/install and you can copy it somewhere for your local CE to access.

@neatudarius
Copy link
Member Author

@partouf, as owner in @compiler-explorer org, would you please review this tutorial for Beman integration with Compiler Explorer? It's working, but I would like a faster approach for compiler-infra [main] ./update_compilers/install_libraries.sh to deploy a single library, if possible. Is there any such solution? (MacOS and Linux/Ubuntu). I couldn't find a shortcut in docs or scripts. And for MacOS I have some problems with docker-compose, so I found this script.

What I usually do is (in infra):

  • make ce <- if you haven't done it yet or the python depencies have changed
  • bin/ce_install --enable nightly install beman_iterator_interface <- enable condition for nightly libraries and install things matching beman_iterator_interface
  • bin/ce_install --enable nightly install beman_optional

If you have some compilers installed in the same places as CE has, you could use those to build as well, for example:

  • bin/ce_install install 'x86/gcc 14.2.0' <- to install gcc 14.2.0
  • bin/ce_install --dry-run --keep-staging --enable nightly build --buildfor g142 beman_iterator_interface <- build with gcc "g142" and keep the build directory. That will placed by default in /opt/compiler-explorer/staging/[random directory name]/install and you can copy it somewhere for your local CE to access.

Thanks! you made my day!

@neatudarius neatudarius changed the title Create Compiler Explorer Deployment tutorial Create tutorial: Compiler Explorer Deployment Apr 7, 2025
@neatudarius neatudarius force-pushed the neatudarius-patch-12 branch 2 times, most recently from a863135 to db236bb Compare April 7, 2025 20:46
@neatudarius neatudarius changed the title Create tutorial: Compiler Explorer Deployment Add tutorial: Compiler Explorer Deployment Apr 7, 2025
@neatudarius neatudarius force-pushed the neatudarius-patch-12 branch from db236bb to 75597e3 Compare April 7, 2025 21:00
@neatudarius neatudarius force-pushed the neatudarius-patch-12 branch from 75597e3 to c66eb7c Compare April 7, 2025 21:02
Co-authored-by: Radu Nichita <45298861+RaduNichita@users.noreply.github.com>
@neatudarius neatudarius force-pushed the neatudarius-patch-12 branch from 53cc964 to 130edee Compare April 9, 2025 11:43
@neatudarius neatudarius force-pushed the neatudarius-patch-12 branch from 130edee to f451eaf Compare April 9, 2025 11:43
@neatudarius neatudarius requested a review from RaduNichita April 9, 2025 11:45
@neatudarius
Copy link
Member Author

@camio / @JeffGarland , can you help with review? Radu did that, but he is not actually a codeowner in this repo. More over, it's also about requesting more than one opinion to add this recommendation into the Beman Standard.

Copy link
Member

@camio camio left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The BEMAN_STANDARD.md changes look good to me.

@neatudarius neatudarius merged commit 6726b33 into main Apr 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants