-
Notifications
You must be signed in to change notification settings - Fork 153
139 lines (136 loc) · 6.27 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
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: 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 "[email protected]"
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 docbkx
cp -R ../openam-documentation/openam-doc-source/target/docbkx ../${{ github.event.repository.name }}.wiki
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}
cp -R ../${SITE_DOC_FOLDER}/target/docbkx/bootstrap ../doc.openidentityplatform.org/${REPO_NAME_LC}
git add -A
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