Discourse Migration Guide

Current Status of Migration: Discourse is back online at a new URL: https://discourse.llvm.org. The old one still works as well. We are aware of an issue with reply by email to emails from before the merge. We will update once we know more.

This document is intended to help LLVM users to migrate from the mailing lists to Discourse. Discourse has two basic ways for interaction: Via the web UI and via emails.

Setting up your account

The easiest way is to create an account using your GitHub account:

  1. Navigate to https://llvm.discourse.group/
  2. Click on “Sign Up” in the top right corner.
  3. Choose “With GitHub” on the right side and log in with your GitHub account.

Structure of Discourse

Discourse’s structure is similar to a set of mailing lists, however different terms are used there. To help with the transition, here’s a translation table for the terms:

Mailing list

Discourse

Mailing list, consists of threads

category, consists of topics

thread, consists of emails

topic, consists of posts

email

post

Setting up email interactions

Some folks want to interact with Discourse purely via their email program. Here are the typical use cases:

  • You can subscribe to a category or topic
  • You can reply to a post, including quoting other peoples texts (tested on GMail).
  • Quoting previous topics in an reply
  • You can filter incoming emails in your email client by category using the List-ID email header field.
  • You can create topics through email using the email address that is specific to the category. Each category description shows the email address to use, or you can use the mapping below.

Mapping of email addresses to Discourse categories

Use these email addresses to create a topic by email in the specific discourse category. You must have a Discourse account associated with the email address you are sending from or the email will be rejected.

Discourse Category

Email Address

Beginner

beginners@discourse.llvm.org

LLVM Project

llvmproject@discourse.llvm.org

IR & Optimizations

IR.Optimizations@discourse.llvm.org

IR & Optimizations - Loop Optimizations

IR.Optimizations-Loops@discourse.llvm.org

Code Generation

codegen@discourse.llvm.org

Code Generation - AMDGPU

codegen-amdgpu@discourse.llvm.org

Code Generation - Common Infrastructure

codegen-common@discourse.llvm.org

Code Generation - AArch64

codegen-aarch64@discourse.llvm.org

Code Generation - Arm

codegen-arm@discourse.llvm.org

Code Generation - PowerPC

codegen-powerpc@discourse.llvm.org

Code Generation - RISCV

codegen-riscv@discourse.llvm.org

Code Generation - WebAssembly

codegen-webassembly@discourse.llvm.org

Code Generation - X86

codegen-x86@discourse.llvm.org

Clang Frontend

clang@discourse.llvm.org

Clang Frontend - Using Clang

clang-users@discourse.llvm.org

Clang Frontend - clangd

clangd@discourse.llvm.org

Clang Frontend - Building Clang

clang-build@discourse.llvm.org

Clang Frontend - Static Analyzer

clang-staticanalyzer@discourse.llvm.org

Runtimes

runtimes@discourse.llvm.org

Runtimes - C++

runtimes-cxx@discourse.llvm.org

Runtimes - Sanitizers

runtimes-sanitizers@discourse.llvm.org

Runtimes - C

runtimes-c@discourse.llvm.org

Runtimes - OpenMP

runtimes-openmp@discourse.llvm.org

Runtimes - OpenCL

runtimes-opencl@discourse.llvm.org

MLIR

mlir@discourse.llvm.org

MLIR - Announce

mlir-announce@discourse.llvm.org

MLIR - Newsletter

mlir-news@discourse.llvm.org

MLIR - TCP-WG

mlir-tcpwg@discourse.llvm.org

Subprojects

subprojects@discourse.llvm.org

Subprojects - Polly

polly@discourse.llvm.org

Subprojects - LLDB

lldb@discourse.llvm.org

Subprojects - LLD

lld@discourse.llvm.org

Subprojects - Flang

flang@discourse.llvm.org

Subprojects - Bolt

bolt@discourse.llvm.org

Project Infrastructure

infra@discourse.llvm.org

Project Infrastructure - Release Testers

infra-release-testers@discourse.llvm.org

Project Infrastructure - Website

infra-website@discourse.llvm.org

Project Infrastructure - Documentation

infra-docs@discourse.llvm.org

Project Infrastructure - GitHub

infra-github@discourse.llvm.org

Project Infrastructure - Code Review

infra-codereview@discourse.llvm.org

Project Infrastructure - Discord

infra-discord@discourse.llvm.org

Project Infrastructure - Mailing Lists and Forums

infra-mailinglists@discourse.llvm.org

Project Infrastructure - IRC

infra-irc@discourse.llvm.org

Project Infrastructure - Infrastructure Working Group

infra-iwg@discourse.llvm.org

Community

community@discourse.llvm.org

Community - Women in Compilers and Tools

wict@discourse.llvm.org

Community - Job Postings

community-jobs@discourse.llvm.org

Community - US LLVM Developers’ Meeting

devmtg-US@discourse.llvm.org

Community - EuroLLVM

devmtg-euro@discourse.llvm.org

Community - GSOC

gsoc@discourse.llvm.org

Community - Community.o

community-dot-o@discourse.llvm.org

Community - LLVM Foundation

foundation@discourse.llvm.org

Community - Newsletters

newsletters@discourse.llvm.org

Incubator

incubator@discourse.llvm.org

Incubator - CIRCT

circt@discourse.llvm.org

Incubator - Torch-MLIR

torch-mlir@discourse.llvm.org

Incubator - Enzyme

enzyme@discourse.llvm.org

Feedback

feedback@discourse.llvm.org

Mapping of mailing lists to categories

This table explains the mapping from mailing lists to categories in Discourse. The email addresses of these categories will remain the same, after the migration. Obsolete lists will become read-only as part of the Discourse migration.

Mailing lists

Category in Discourse

All-commits

no migration at the moment

Bugs-admin

no migration at the moment

cfe-commits

no migration at the moment

cfe-dev

Clang Frontend

cfe-users

Clang Frontend/Using Clang

clangd-dev

Clang Frontend/clangd

devmtg-organizers

Obsolete

Docs

Obsolete

eurollvm-organizers

Obsolete

flang-commits

no migration at the moment

flang-dev

Subprojects/Flang Fortran Frontend

gsoc

Obsolete

libc-commits

no migration at the moment

libc-dev

Runtimes/C

Libclc-dev

Runtimes/OpenCL

libcxx-bugs

no migration at the moment

libcxx-commits

no migration at the moment

libcxx-dev

Runtimes/C++

lldb-commits

no migration at the moment

lldb-dev

Subprojects/lldb

llvm-admin

no migration at the moment

llvm-announce

Announce

llvm-branch-commits

no migration at the moment

llvm-bugs

no migration at the moment

llvm-commits

no migration at the moment

llvm-dev

Project Infrastructure/LLVM Dev List Archives

llvm-devmeeting

Community/US Developer Meeting

llvm-foundation

Community/LLVM Foundation

Mlir-commits

no migration at the moment

Openmp-commits

no migration at the moment

Openmp-dev

Runtimes/OpenMP

Parallel_libs-commits

no migration at the moment

Parallel_libs-dev

Runtimes/C++

Release-testers

Project Infrastructure/Release Testers

Test-list

Obsolete

vmkit-commits

Obsolete

WiCT

Community/Women in Compilers and Tools

www-scripts

Obsolete

FAQ

I don’t want to use a web UI

You can do most of the communication with your email client (see section on Setting up email interactions above). You only need to set up your account once and then configure which categories you want to subscribe to.

How do I send a private message?

On the mailing list you have the opportunity to reply only to the sender of the email, not to the entire list. That is not supported when replying via email on Discourse. However you can send someone a private message via the Web UI: Click on the user’s name above a post and then on Message.

Also Discourse does not expose users’ email addresses , so your private replies have to go through their platform (unless you happen to know the email address of the user.)

How can my script/tool send automatic messages?**

In case you want to create a new post/topic automatically from a script or tool, you can use the Discourse API.

Who are the admins for Discourse?

See https://llvm.discourse.group/about

What is the reason for the migration?

See this email

How do I set up a private mailing list?

If needed categories can have individual security settings to limit visibility and write permissions. Contact the admins if you need such a category.

What will happen to our email archives?

The Mailman archives will remain on the web server for now.

What are advantages of Discourse over the current mailing lists?

  • Users can post to any category, also without being subscribed.
  • Full text search on the Web UI.
  • Sending/replying via the Web UI (email is still possible).
  • View entire thread on one page.
  • Categories are a more light-weight option to structure the discussions than creating new mailing lists.
  • Single sign on with GitHub.
  • User email addresses are kept private.

I have another question not covered here. What should I do?

Please contact iwg@llvm.org or raise a ticket on GitHub.