-
Notifications
You must be signed in to change notification settings - Fork 155
152 lines (149 loc) · 7.01 KB
/
deploy.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
name: Package/Deploy
on:
workflow_dispatch:
workflow_run:
branches: [ master ]
workflows: ["Build","Release"]
types: [completed]
jobs:
deploy-maven:
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: 'ubuntu-latest'
steps:
- name: Print github context
env:
GITHUB_CONTEXT: ${{ toJSON(github) }}
run: echo "$GITHUB_CONTEXT"
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: recursive
- name: Set up Java for publishing to Maven Central Repository OSS
uses: actions/setup-java@v4
with:
java-version: '8'
distribution: 'temurin'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-m2-repository-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2-repository
- name: Install gpg secret key
env:
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
if: ${{ env.GPG_PRIVATE_KEY!=''}}
run: |
cat <(echo -e "${{ secrets.GPG_PRIVATE_KEY }}") | gpg --batch --import
gpg --list-secret-keys --keyid-format LONG
- name: Build package local
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
if: ${{ !(github.event.workflow_run.event=='push' && env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!='')}}
run: mvn --batch-mode --errors --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} package --file pom.xml
- name: Publish to the Maven Central Repository
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_OPTS: -Dhttps.protocols=TLSv1.2 -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 -Dmaven.wagon.http.retryHandler.requestSentEnabled=true -Dmaven.wagon.http.retryHandler.count=10
if: ${{ github.event.workflow_run.event=='push' && env.MAVEN_USERNAME!='' && env.MAVEN_PASSWORD!=''}}
run: mvn --batch-mode --errors --update-snapshots -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }} deploy --file pom.xml
- name: Build Javadoc
continue-on-error: true
run: |
mvn javadoc:aggregate -pl '-:openam-server,-:openam-server-only' \
-pl '-:openam-ui,-:openam-ui-ria,-:openam-ui-api' \
-pl '-:openam-server-auth-ui,-:openam-doc-ssoadm-ref,-:openam-liberty-schema' \
-pl '-:openam-example-api-descriptor,-:openam-example-clientsdk-cli,-:openam-example-clientsdk-war'
- name: Upload artifacts OpenAM Distribution Kit, containing all distributable artifacts
uses: actions/upload-artifact@v4
with:
name: OpenAM Distribution Kit, containing all distributable artifacts
path: openam-distribution/openam-distribution-kit/target/*.zip
- name: Upload artifacts OpenAM Distribution SSO Configurator Tools Kit
uses: actions/upload-artifact@v4
with:
name: OpenAM Distribution SSO Configurator Tools Kit
path: openam-distribution/openam-distribution-ssoconfiguratortools/target/*.zip
- name: Upload artifacts OpenAM Distribution Fedlet UnConfigured zip
uses: actions/upload-artifact@v4
with:
name: OpenAM Distribution Fedlet UnConfigured zip
path: openam-distribution/openam-distribution-fedlet-unconfigured/target/*.zip
- name: Upload artifacts OpenAM Distribution SSO Admin Tools Kit
uses: actions/upload-artifact@v4
with:
name: OpenAM Distribution SSO Admin Tools Kit
path: openam-distribution/openam-distribution-ssoadmintools/target/*.zip
- name: Upload artifacts OpenAM Admin Console
uses: actions/upload-artifact@v4
with:
name: OpenAM Admin Console
path: openam-console/target/*.war
- name: Upload artifacts OpenAM Server Component
uses: actions/upload-artifact@v4
with:
name: OpenAM Server Component
path: openam-server/target/*.war
- name: Upload artifacts OpenAM Server Only Component
uses: actions/upload-artifact@v4
with:
name: OpenAM Server Only Component
path: openam-server-only/target/*.war
- name: Upload artifacts OpenAM Dockerfile
uses: actions/upload-artifact@v4
with:
name: OpenAM Dockerfile
path: openam-distribution/openam-distribution-docker/Dockerfile*
- name: Configure Git User
run: |
git config --global user.name "Open Identity Platform Community"
git config --global user.email "open-identity-platform-opendj@googlegroups.com"
cd ..
- uses: actions/checkout@v4
continue-on-error: true
with:
repository: ${{ github.repository }}.wiki
path: ${{ github.event.repository.name }}.wiki
- name: Publish docs to wiki
continue-on-error: true
shell: bash
env:
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_TOKEN: ${{ github.token }}
run: |
cd ${{ github.event.repository.name }}.wiki
rm -rf asciidoc
mkdir asciidoc
cp -R ../openam-documentation/openam-doc-source/target/asciidoc/pdf ../${{ github.event.repository.name }}.wiki/asciidoc
git add -A
git commit -a -m "upload docs after deploy ${{ github.sha }}"
git push --quiet --force
- uses: actions/checkout@v4
continue-on-error: true
with:
repository: OpenIdentityPlatform/doc.openidentityplatform.org
path: doc.openidentityplatform.org
token: ${{ secrets.OIP_PAT_GH_TOKEN }}
- name: Publish docs to site
continue-on-error: true
shell: bash
run: |
export REPO_NAME_LC=$(echo '${{github.event.repository.name}}' | tr '[:upper:]' '[:lower:]')
export SITE_DOC_FOLDER=openam-documentation/openam-doc-source
cd doc.openidentityplatform.org
rm -rf ${REPO_NAME_LC}/modules
cp -R ../${SITE_DOC_FOLDER}/target/asciidoc/antora/modules ../doc.openidentityplatform.org/${REPO_NAME_LC}
rm -rf ${REPO_NAME_LC}/apidocs
cp -R ../target/reports/apidocs ../doc.openidentityplatform.org/${REPO_NAME_LC}
git add -A
if ! git diff-index --quiet HEAD; then
echo "committing changes to the docs repository"
git commit -a -m "upload ${{github.event.repository.name}} docs after deploy ${{ github.sha }}"
git push --force https://github.com/OpenIdentityPlatform/doc.openidentityplatform.org.git
fi