nightly.yml 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. name: Nightly Regression
  2. on:
  3. schedule:
  4. # run at 15:33 UTC (23:33 UTC+8)
  5. - cron: '33 15 * * *'
  6. jobs:
  7. build:
  8. runs-on: bosc
  9. continue-on-error: false
  10. # At most 12 hours to finish (before 11:33 UTC+8).
  11. timeout-minutes: 720
  12. # Build + 8 checkpoints * 1-hour timeout
  13. name: Nightly Regression - Checkpoints
  14. steps:
  15. - uses: actions/checkout@v2
  16. with:
  17. submodules: 'recursive'
  18. - name: set env
  19. run: |
  20. export HEAD_SHA=${{ github.run_number }}
  21. echo "NOOP_HOME=$GITHUB_WORKSPACE" >> $GITHUB_ENV
  22. echo "NEMU_HOME=/nfs/home/share/ci-workloads/NEMU" >> $GITHUB_ENV
  23. echo "PERF_HOME=/nfs/home/ci-runner/xs-perf/${HEAD_SHA}" >> $GITHUB_ENV
  24. echo "WAVE_HOME=/nfs/home/ci-runner/xs-wave/${HEAD_SHA}" >> $GITHUB_ENV
  25. echo "GCPT_RESTORE_BIN=/nfs/home/share/ci-workloads/fix-gcpt/gcpt.bin" >> $GITHUB_ENV
  26. mkdir -p /nfs/home/ci-runner/xs-perf/${HEAD_SHA}
  27. mkdir -p /nfs/home/ci-runner/xs-wave/${HEAD_SHA}
  28. - name: clean up
  29. run: |
  30. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --clean
  31. - name: Build EMU with DRAMsim3 and Spike-Diff
  32. run: |
  33. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py --build \
  34. --dramsim3 /nfs/home/share/ci-workloads/DRAMsim3 \
  35. --with-dramsim3 --threads 16 --spike \
  36. --pgo $GITHUB_WORKSPACE/ready-to-run/coremark-2-iteration.bin \
  37. --llvm-profdata llvm-profdata
  38. - name: Random Checkpoint 0
  39. run: |
  40. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  41. --wave-dump $WAVE_HOME --threads 16 --numa \
  42. --spike --ci random --timeout 3600 --ram-size=16GB \
  43. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  44. 2> perf.log
  45. cat perf.log | sort | tee $PERF_HOME/random_0.txt
  46. - name: Random Checkpoint 1
  47. run: |
  48. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  49. --wave-dump $WAVE_HOME --threads 16 --numa \
  50. --spike --ci random --timeout 3600 --ram-size=16GB \
  51. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  52. 2> perf.log
  53. cat perf.log | sort | tee $PERF_HOME/random_1.txt
  54. - name: Random Checkpoint 2
  55. run: |
  56. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  57. --wave-dump $WAVE_HOME --threads 16 --numa \
  58. --spike --ci random --timeout 3600 --ram-size=16GB \
  59. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  60. 2> perf.log
  61. cat perf.log | sort | tee $PERF_HOME/random_2.txt
  62. - name: Random Checkpoint 3
  63. run: |
  64. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  65. --wave-dump $WAVE_HOME --threads 16 --numa \
  66. --spike --ci random --timeout 3600 --ram-size=16GB \
  67. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  68. 2> perf.log
  69. cat perf.log | sort | tee $PERF_HOME/random_3.txt
  70. - name: Random Checkpoint 4
  71. run: |
  72. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  73. --wave-dump $WAVE_HOME --threads 16 --numa \
  74. --spike --ci random --timeout 3600 --ram-size=16GB \
  75. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  76. 2> perf.log
  77. cat perf.log | sort | tee $PERF_HOME/random_4.txt
  78. - name: Random Checkpoint 5
  79. run: |
  80. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  81. --wave-dump $WAVE_HOME --threads 16 --numa \
  82. --spike --ci random --timeout 3600 --ram-size=16GB \
  83. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  84. 2> perf.log
  85. cat perf.log | sort | tee $PERF_HOME/random_5.txt
  86. - name: Random Checkpoint 6
  87. run: |
  88. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  89. --wave-dump $WAVE_HOME --threads 16 --numa \
  90. --spike --ci random --timeout 3600 --ram-size=16GB \
  91. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  92. 2> perf.log
  93. cat perf.log | sort | tee $PERF_HOME/random_6.txt
  94. - name: Random Checkpoint 7
  95. run: |
  96. python3 $GITHUB_WORKSPACE/scripts/xiangshan.py \
  97. --wave-dump $WAVE_HOME --threads 16 --numa \
  98. --spike --ci random --timeout 3600 --ram-size=16GB \
  99. --gcpt-restore-bin $GCPT_RESTORE_BIN \
  100. 2> perf.log
  101. cat perf.log | sort | tee $PERF_HOME/random_7.txt