forked from VirtusLab/community-build3
-
Notifications
You must be signed in to change notification settings - Fork 0
90 lines (78 loc) · 3.25 KB
/
buildExecuteScheduledWeekly.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
name: "Open CB: scheduled weekly"
run-name: "Weekly build #${{ github.run_number }}"
on:
workflow_dispatch:
schedule:
# Every friday at 8 PM
- cron: "0 20 * * 5"
jobs:
detect-version:
runs-on: ubuntu-22.04
continue-on-error: false
outputs:
last-nightly-version: ${{ steps.detect.outputs.last-nightly-version }}
last-stable-version: ${{ steps.detect.outputs.last-stable-version }}
last-rc-version: ${{ steps.detect.outputs.last-rc-version }}
if: github.event_name == 'schedule' && github.repository == 'VirtusLab/community-build3' || github.event_name == 'workflow_dispatch'
steps:
- name: Git Checkout
uses: actions/checkout@v3
- name: Install scala-cli
uses: coursier/setup-action@v1
with:
apps: scala-cli
- name: Find last versions
id: detect
run: |
lastNightly="$(./scripts/lastVersionNightly.sc)"
lastStable="$(./scripts/lastVersionStable.sc)"
lastRC="$(./scripts/lastVersionRC.sc)"
echo "Detected last nightly version: $lastNightly (used)"
echo "Detected last stable version: $lastStable"
echo "Detected last RC version: $lastRC"
echo "last-nightly-version=$lastNightly" >> $GITHUB_OUTPUT
echo "last-stable-version=$lastStable" >> $GITHUB_OUTPUT
echo "last-rc-version=$lastRC" >> $GITHUB_OUTPUT
# Name of this job need to match inputs of build-project/job-info
execute-build-plan:
needs: [detect-version]
uses: ./.github/workflows/buildPlan.yaml
with:
published-scala-version: ${{ needs.detect-version.outputs.last-nightly-version }}
secrets: inherit
create-raport:
needs: [execute-build-plan]
runs-on: ubuntu-22.04
continue-on-error: true
steps:
- name: Git Checkout
uses: actions/checkout@v3
- name: Install coursier
uses: coursier/setup-action@v1
with:
apps: scala-cli
- name: Cache last successfull version
uses: actions/cache@v3
with:
path: ./last-successfull-weekly-version
key: last-successfull-weekly-version
- name: Generate raport
env:
ES_USER: ${{ secrets.OPENCB_ELASTIC_USER }}
ES_PASSWORD: ${{ secrets.OPENCB_ELASTIC_PSWD }}
run: |
scalaVersion=${{ needs.execute-build-plan.outputs.used-scala-version }}
lastRC="$(./scripts/lastVersionRC.sc)"
lastStable=$(./scripts/lastVersionStable.sc)
./scripts/raport-regressions.scala $scalaVersion > raport-full.md
./scripts/raport-regressions.scala $scalaVersion --compareWith=$lastRC > raport-compare-$lastRC.md
./scripts/raport-regressions.scala $scalaVersion --compareWith=$lastStable > raport-compare-$lastStable.md
lastWeeklyVersionFile=./last-successfull-weekly-version
lastWeeklyVersion=$(cat $lastWeeklyVersionFile) && \
./scripts/raport-regressions.scala $scalaVersion --compareWith=$lastWeeklyVersion > raport-compare-$lastWeeklyVersion.md || true
echo "$scalaVersion" > $lastWeeklyVersionFile
- name: Upload raports
uses: actions/upload-artifact@v3
with:
name: build-raports
path: ${{ github.workspace }}/raport-*.md