Package/Deploy #31
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 "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 |