-
Notifications
You must be signed in to change notification settings - Fork 45
154 lines (130 loc) · 5.39 KB
/
deploy_corda-pkgs.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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: CC-BY-4.0
name: Deploy Corda Packages
on:
push:
branches:
- main
paths:
- 'common/protos-java-kt/gradle.properties'
- 'core/network/corda-interop-app/gradle.properties'
- 'sdks/corda/gradle.properties'
- 'core/drivers/corda-driver/VERSION'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
publish-protos:
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4.1.1
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'adopt'
- name: Generate github.properties
run: |
echo "Using ${GITHUB_ACTOR} user."
echo "username=${GITHUB_ACTOR}" >> github.properties
echo "password=${{ secrets.GITHUB_TOKEN }}" >> github.properties
echo "url=https://maven.pkg.github.com/${GITHUB_REPOSITORY_OWNER}/weaver-dlt-interoperability" >> github.properties
cat github.properties
working-directory: common/protos-java-kt
- name: Publish
run: |
make publish > out 2> error
exitStatus=$?
(cat error | grep "Received status code 409 from server: Conflict" && exit 0) || exit $exitStatus
working-directory: common/protos-java-kt
publish-interop-app:
if: always()
needs: publish-protos
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4.1.1
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'adopt'
- name: Generate github.properties
run: |
echo "Using ${GITHUB_ACTOR} user."
echo "username=${GITHUB_ACTOR}" >> github.properties
echo "password=${{ secrets.GITHUB_TOKEN }}" >> github.properties
echo "url=https://maven.pkg.github.com/${GITHUB_REPOSITORY_OWNER}/weaver-dlt-interoperability" >> github.properties
cat github.properties
working-directory: core/network/corda-interop-app
- name: Build
run: make build
working-directory: core/network/corda-interop-app
- name: Publish
run: |
make publish > out 2> error
exitStatus=$?
(cat error | grep "Received status code 409 from server: Conflict" && exit 0) || exit $exitStatus
working-directory: core/network/corda-interop-app
publish-sdk:
if: always()
needs: [publish-protos, publish-interop-app]
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4.1.1
- name: Set up JDK 8
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'adopt'
- name: Generate github.properties
run: |
echo "Using ${GITHUB_ACTOR} user."
echo "username=${GITHUB_ACTOR}" >> github.properties
echo "password=${{ secrets.GITHUB_TOKEN }}" >> github.properties
echo "url=https://maven.pkg.github.com/${GITHUB_REPOSITORY_OWNER}/weaver-dlt-interoperability" >> github.properties
cat github.properties
working-directory: sdks/corda
- name: Build
run: make build
working-directory: sdks/corda
- name: Publish
run: |
make publish > out 2> error
exitStatus=$?
(cat error | grep "Received status code 409 from server: Conflict" && exit 0) || exit $exitStatus
working-directory: sdks/corda
publish-driver-image:
if: ${{ always() && github.repository_owner == 'hyperledger-labs' }}
needs: [publish-protos, publish-interop-app, publish-sdk]
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4.1.1
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Generate github.properties
run: |
echo "Using ${GITHUB_ACTOR} user."
echo "username=${GITHUB_ACTOR}" >> github.properties
echo "password=${{ secrets.GITHUB_TOKEN }}" >> github.properties
echo "url=https://maven.pkg.github.com/${GITHUB_REPOSITORY_OWNER}/weaver-dlt-interoperability" >> github.properties
cat github.properties
working-directory: core/drivers/corda-driver
- name: Check if package already exists
run: (make check-if-tag-exists && echo "CORDA_DRIVER_PUSH=true" >> $GITHUB_ENV) || echo "CORDA_DRIVER_PUSH=false" >> $GITHUB_ENV
working-directory: core/drivers/corda-driver
- name: Build and Push
if: ${{ env.CORDA_DRIVER_PUSH == 'true' }}
run: make push-image
working-directory: core/drivers/corda-driver
- name: Push latest tag
if: ${{ env.CORDA_DRIVER_PUSH == 'true' }}
run: make push-image-latest
working-directory: core/drivers/corda-driver