Skip to content

Pin actions/github-script to exact commit SHA (#763) #421

Pin actions/github-script to exact commit SHA (#763)

Pin actions/github-script to exact commit SHA (#763) #421

name: Publish snapshots to maven
on:
push:
branches:
- main
jobs:
build-and-publish-snapshots:
runs-on: ubuntu-latest
permissions:
id-token: write
contents: write
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '11'
cache: 'gradle'
- name: 'Setup: Java 11 env'
run: echo "JAVA11_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: Set up JDK 17
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
cache: 'gradle'
- name: 'Setup: Java 17 env'
run: echo "JAVA17_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '21'
cache: 'gradle'
- name: 'Setup: Java 21 env'
run: echo "JAVA21_HOME=$JAVA_HOME" >> $GITHUB_ENV
- name: Read value from Properties-file
id: read_property
uses: christian-draeger/read-properties@1.1.1
with:
path: 'buildSrc/opensearch-hadoop-version.properties'
properties: 'opensearch_hadoop'
- name: set required env variables
run: |
echo "MAVEN_HOME=maven" >> $GITHUB_ENV
echo "MAVEN_HOME_CLIENT=maven/org/opensearch/client" >> $GITHUB_ENV
echo "VERSION=${{ steps.read_property.outputs.opensearch_hadoop }}" >> $GITHUB_ENV
- name: make snapshot directories
run: |
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop/${{ env.VERSION }}-SNAPSHOT"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop-mr/${{ env.VERSION }}-SNAPSHOT"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop-hive/${{ env.VERSION }}-SNAPSHOT"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-30_2.12/${{ env.VERSION }}-SNAPSHOT"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-30_2.13/${{ env.VERSION }}-SNAPSHOT"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-35_2.12/${{ env.VERSION }}-SNAPSHOT"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-35_2.13/${{ env.VERSION }}-SNAPSHOT"
mkdir -p "${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-40_2.13/${{ env.VERSION }}-SNAPSHOT"
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: generate JARs
run: |
./gradlew clean -S -Dbuild.snapshot=true -Dorg.gradle.warning.mode=summary distribution --no-configuration-cache --info
- name: generate sha and md5
run: |
for i in `find . -path '*/distributions/*' -name "*.jar" -type f`; do sha1sum "$i" >> "$i.sha1"; done
for i in `find . -path '*/poms/*' -name "*.pom" -type f`; do sha1sum "$i" >> "$i.sha1"; done
for i in `find . -path '*/distributions/*' -name "*.jar" -type f`; do sha512sum "$i" >> "$i.sha512"; done
for i in `find . -path '*/poms/*' -name "*.pom" -type f`; do sha512sum "$i" >> "$i.sha512"; done
for i in `find . -path '*/distributions/*' -name "*.jar" -type f`; do sha256sum "$i" >> "$i.sha256"; done
for i in `find . -path '*/poms/*' -name "*.pom" -type f`; do sha256sum "$i" >> "$i.sha256"; done
for i in `find . -path '*/distributions/*' -name "*.jar" -type f`; do md5sum "$i" >> "$i.md5"; done
for i in `find . -path '*/poms/*' -name "*.pom" -type f`; do md5sum "$i" >> "$i.md5"; done
- name: copy JARs and POMs
run: |
rm -rf dist/build/distributions/*.zip
cp -R mr/build/distributions/* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop-mr/${{ env.VERSION }}-SNAPSHOT
cp -R mr/build/poms/* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop-mr/${{ env.VERSION }}-SNAPSHOT
cp -R hive/build/distributions/* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop-hive/${{ env.VERSION }}-SNAPSHOT
cp -R hive/build/poms/* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop-hive/${{ env.VERSION }}-SNAPSHOT
cp -R dist/build/distributions/* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop/${{ env.VERSION }}-SNAPSHOT
cp -R dist/build/poms/* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-hadoop/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-30/build/distributions/opensearch-spark-30_2.12* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-30_2.12/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-30/build/poms/opensearch-spark-30_2.12* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-30_2.12/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-30/build/distributions/opensearch-spark-30_2.13* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-30_2.13/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-30/build/poms/opensearch-spark-30_2.13* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-30_2.13/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-35/build/distributions/opensearch-spark-35_2.12* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-35_2.12/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-35/build/poms/opensearch-spark-35_2.12* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-35_2.12/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-35/build/distributions/opensearch-spark-35_2.13* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-35_2.13/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-35/build/poms/opensearch-spark-35_2.13* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-35_2.13/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-40/build/distributions/opensearch-spark-40_2.13* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-40_2.13/${{ env.VERSION }}-SNAPSHOT
cp -R spark/sql-40/build/poms/opensearch-spark-40_2.13* ${{ env.MAVEN_HOME_CLIENT }}/opensearch-spark-40_2.13/${{ env.VERSION }}-SNAPSHOT
- name: debug output directories
run: tree maven
- uses: actions/checkout@v4
with:
repository: 'opensearch-project/opensearch-build'
path: 'build'
ref: 'main'
- name: Load secret
uses: 1password/load-secrets-action@v2
with:
# Export loaded secrets as environment variables
export-env: true
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
MAVEN_SNAPSHOTS_S3_REPO: op://opensearch-infra-secrets/maven-snapshots-s3/repo
MAVEN_SNAPSHOTS_S3_ROLE: op://opensearch-infra-secrets/maven-snapshots-s3/role
- name: Export SNAPSHOT_REPO_URL
run: |
snapshot_repo_url=${{ env.MAVEN_SNAPSHOTS_S3_REPO }}
echo "SNAPSHOT_REPO_URL=$snapshot_repo_url" >> $GITHUB_ENV
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v5
with:
role-to-assume: ${{ env.MAVEN_SNAPSHOTS_S3_ROLE }}
aws-region: us-east-1
- name: Get credentials and publish snapshots to maven
run: |
build/publish/publish-snapshot.sh $MAVEN_HOME