diff --git a/xtask/src/publish.rs b/xtask/src/publish.rs index 7faae9b20c40..d57f20415355 100644 --- a/xtask/src/publish.rs +++ b/xtask/src/publish.rs @@ -7,7 +7,14 @@ use xshell::{cmd, Shell}; impl flags::PublishReleaseNotes { pub(crate) fn run(self, sh: &Shell) -> anyhow::Result<()> { - let asciidoc = sh.read_file(&self.changelog)?; + let mut asciidoc = sh.read_file(&self.changelog)?; + // Remove '#' in front of changelog number; GitHub misinterprets it as issue reference + let changelog_header_prefix = "= Changelog "; + let header_hash_sign_index = + asciidoc.find(changelog_header_prefix).expect("should contain changelog header") + + changelog_header_prefix.len(); + asciidoc.remove(header_hash_sign_index); + let mut markdown = notes::convert_asciidoc_to_markdown(std::io::Cursor::new(&asciidoc))?; let file_name = check_file_name(self.changelog)?; let tag_name = &file_name[0..10];