-
Notifications
You must be signed in to change notification settings - Fork 0
153 lines (152 loc) · 6.9 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
153
name: Package/Deploy
on:
workflow_run:
branches: [ master ]
workflows: ["Build"]
types: [completed]
jobs:
package-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"
- name: Install wine+rpm for distribution
if: runner.os == 'Linux'
shell: bash
run: |
set -x -u -o pipefail
source /etc/os-release
# Get rid of packages installed from ppa:ondrej/php so that we will be able to install wine32:i386 without conflicts
# (see issue https://github.com/actions/virtual-environments/issues/4589)
# In detail we:
# 1. Remove all packages that ppa:ondrej/php has but plain Ubuntu doesn't, i.e. libzip4 and everything PHP
# 2. Revert (remaining) packages that ppa:ondrej/php and plain Ubuntu share, back to the plain Ubuntu version
# 3. Assert that no packages from ppa:ondrej/php are left installed
dpkg -l | grep '^ii' | fgrep deb.sury.org | awk '{print $2}' | grep '^php' \
| xargs -r -t sudo apt-get remove --yes libzip4
sudo apt update && sudo apt upgrade
dpkg -l | grep '^ii' | fgrep deb.sury.org | grep -v libpcre2-posix3 | awk '{print $2}' | sed "s,\$,/${UBUNTU_CODENAME}," \
| xargs -r -t sudo apt-get install --yes --no-install-recommends --allow-downgrades -V
! dpkg -l | grep '^ii' | fgrep deb.sury.org
# Install 32bit Wine
sudo dpkg --add-architecture i386 # for wine32
sudo apt-get update # again, due to new architecture
sudo apt-get install --yes --no-install-recommends -V \
wine-stable \
wine32:i386
wine --version
- uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: recursive
- name: Set up Java for publishing to Maven Central Repository OSS
uses: actions/setup-java@v2
with:
java-version: '8'
distribution: 'temurin'
server-id: ossrh
server-username: MAVEN_USERNAME
server-password: MAVEN_PASSWORD
- name: Cache Maven packages
uses: actions/cache@v2
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 OpenDJ Server
uses: actions/upload-artifact@v3
with:
name: OpenDJ Server
path: opendj-server-legacy/target/package/*.zip
- name: Upload artifacts OpenDJ SDK Toolkit
uses: actions/upload-artifact@v3
with:
name: OpenDJ SDK Toolkit
path: opendj-ldap-toolkit/target/*.zip
- name: Upload artifacts OpenDJ Debian Package
uses: actions/upload-artifact@v3
with:
name: OpenDJ Debian Package
path: opendj-packages/opendj-deb/opendj-deb-standard/target/*.deb
- name: Upload artifacts OpenDJ RPM Package
uses: actions/upload-artifact@v3
with:
name: OpenDJ RPM Package
path: opendj-packages/opendj-rpm/opendj-rpm-standard/target/rpm/opendj/RPMS/noarch/*.rpm
- name: Upload artifacts OpenDJ MSI Package
uses: actions/upload-artifact@v3
with:
name: OpenDJ MSI Package
path: opendj-packages/opendj-msi/opendj-msi-standard/target/*.msi
- name: Upload artifacts OpenDJ Docker Packages
uses: actions/upload-artifact@v3
with:
name: OpenDJ Docker Packages
path: opendj-packages/opendj-docker/target/Dockerfile.zip
- name: Upload artifacts OpenDJ Openshift template
uses: actions/upload-artifact@v3
with:
name: OpenDJ Openshift template
path: opendj-packages/opendj-openshift-template/*.yaml
- name: Upload artifacts OpenDJ Doc Generated Reference
uses: actions/upload-artifact@v3
with:
name: OpenDJ Doc Generated References
path: opendj-doc-generated-ref/target/*.zip
- name: Upload artifacts OpenDJ DSML Gateway
uses: actions/upload-artifact@v3
with:
name: OpenDJ DSML Gateway
path: opendj-dsml-servlet/target/*.war
- name: Upload artifacts OpenDJ Commons REST LDAP Gateway
uses: actions/upload-artifact@v3
with:
name: OpenDJ Commons REST LDAP Gateway
path: opendj-rest2ldap-servlet/target/*.war
- name: Configure Git User
run: |
git config --global user.name "Gluu Federation"
git config --global user.email "[email protected]"
cd ..
- uses: actions/checkout@v3
continue-on-error: true
with:
repository: ${{ github.repository }}.wiki
path: ${{ github.event.repository.name }}.wiki
- name: Publish docs in 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
mv ../opendj-doc-generated-ref/target/docbkx ../${{ github.event.repository.name }}.wiki
git add -A
git commit -a -m "upload docs after deploy ${{ github.sha }}"
git push --quiet --force