mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

vharseko
25.15.2022 54bdf5220dfe4550335252139d6c142a998d9081
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 "Open Identity Platform Community"
          git config --global user.email "open-identity-platform-opendj@googlegroups.com"
          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