Skip to content

release_guid_cn

Shaojin Wen edited this page Jul 6, 2024 · 3 revisions

发布指南

1. 发布步骤

  1. 检查已经分配到当前版本的issue是否完成,如果还有issue未完成,推迟到下一个版本,或者找开发者完成。
  2. 看master分支哪些commit需要port到android分支,现在的android分支有两个android5和android8
  3. 跑benchmark,并且提交benchmark结果到master分支的docs/benchmark目录下
  4. 准备release notes
  5. 发布到maven仓库

2. 跑benchmark的步骤

  1. 通知相关机器维护者准备环境
  2. 登录机器机器更新代码并且构建
cd ~/git/fastjson2
git pull
mvn clean install -Dmaven.test.skip
  1. 运行benchmark
cd ~
nohup ./run.sh > result_2.0.51_g8y.out &

result_2.0.51_g8y.out是benchmark输出的文件,文件名包括版本号和机器型号,其中g8y是型号,可能还有g8a,g8i等。

  1. 收集benchmark
scp <host>:result_2.0.51_g8y.out ~/Downloads/
  1. 从运行结果中提取benmark的信息 找到benmark项目下的这个类 com.alibaba.fastjson2.benchmark.ReadResult
package package com.alibaba.fastjson2.benchmark;

public class ReadResult {
    public static void main(String[] args) throws Exception {
        String version = JSON.VERSION;
        File outFile = new File("/Users/wenshao/Work/git/fastjson2/docs/benchmark/benchmark_" + version + "_raw.md");
        
        Map<String, String> files = new LinkedHashMap<>();
        files.put("aliyun_ecs.c8i.large", "xxx/Downloads/result_" + version + "_g8i.out");
    }
}
  1. 从raw_.md生成结果
package com.alibaba.fastjson2.benchmark;

public class GenReport {
    public static void main(String[] args) throws Exception {
        GenReport gen = new GenReport();
        gen.gen();
    }
}
  1. 把benchmark_version_raw.md和benchmark_version.md文件提交到master分支的docs/benchmark目录下