-
Notifications
You must be signed in to change notification settings - Fork 1
executable file
·109 lines (96 loc) · 3.22 KB
/
ci-build.yml
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
name: Tsubakuro-CI
on:
push:
pull_request:
workflow_dispatch:
jobs:
Build:
runs-on: [self-hosted, docker]
timeout-minutes: 30
container:
image: ghcr.io/project-tsurugi/oltp-sandbox:ubuntu-22.04
credentials:
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_PAT }}
volumes:
- ${{ vars.gradle_cache_dir }}:/root/.gradle
defaults:
run:
shell: bash
env:
JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8
steps:
- id: Setup_Java
name: Setup_Java
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
- id: Checkout
name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
token: ${{ secrets.GHA_PAT }}
- id: Checkout_Actions
name: Checkout_Actions
uses: actions/checkout@v3
with:
repository: project-tsurugi/tsurugi-github-actions
path: .github/actions
ref: master
submodules: recursive
token: ${{ secrets.GHA_PAT }}
- id: Assemble
name: Assemble
run: |
./gradlew -i clean assemble
- id: Check
name: Check
run: |
./gradlew -i check --continue
- id: Upload_Artifact
name: Upload_Artifact
uses: actions/upload-artifact@v3
with:
name: libtsubakuro
path: modules/ipc/build/native/lib/libtsubakuro.so
retention-days: 1
- id: Generate_Annotations
name: Generate_Annotations
uses: ./.github/actions/tsurugi-annotations-action
if: always()
with:
junit_input: '**/build/test-results/**/TEST-*.xml'
junit_test_src_dir: 'src/test/java'
spotbugs_input: '**/build/reports/spotbugs/main/*.xml'
checkstyle_input: '**/build/reports/checkstyle/main.xml'
- id: Notify_Slack
name: Notify_Slack
uses: ./.github/actions/tsurugi-slack-action
if: always() && (github.event.pull_request.draft == false) && (contains(github.ref, '/tags/') || contains(github.ref, '/pull/') || contains(github.ref, '/heads/master'))
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
with:
kind: 'job-result'
channel: 'tsurugi-build'
status: ${{ job.status }}
step_context: ${{ toJson(steps) }}
username: ${{ github.workflow }}
Publish:
uses: ./.github/workflows/ci-publish.yml
if: (contains(github.ref, '/tags/') || contains(github.ref, '/heads/master'))
needs: Build
secrets: inherit
Eisen:
uses: ./.github/workflows/eisen-integration-test.yml
if: (github.event.pull_request.draft == false) && (contains(github.ref, '/tags/') || contains(github.ref, '/pull/') || contains(github.ref, '/heads/master'))
needs: Build
secrets: inherit
Iceaxe:
uses: project-tsurugi/eisen/.github/workflows/iceaxe-dbtest-ipc.yml@master
if: (github.event.pull_request.draft == false) && (contains(github.ref, '/tags/') || contains(github.ref, '/pull/') || contains(github.ref, '/heads/master'))
needs: Build
secrets: inherit
with:
job_name: 'Iceaxe / Test'