diff --git a/.github/workflows/maven-publish.yml b/.github/workflows/maven-publish.yml index 0dd07404bb5..6ea76fd783a 100644 --- a/.github/workflows/maven-publish.yml +++ b/.github/workflows/maven-publish.yml @@ -29,6 +29,30 @@ jobs: with: role-to-assume: ${{ secrets.PUBLISH_SNAPSHOTS_ROLE }} aws-region: us-east-1 + + # Create the initial direct-query directory structure + - name: Create direct-query directory structure in repository + run: | + # Get credentials for publishing + export SONATYPE_USERNAME=$(aws secretsmanager get-secret-value --secret-id maven-snapshots-username --query SecretString --output text) + export SONATYPE_PASSWORD=$(aws secretsmanager get-secret-value --secret-id maven-snapshots-password --query SecretString --output text) + echo "::add-mask::$SONATYPE_USERNAME" + echo "::add-mask::$SONATYPE_PASSWORD" + + # Create a placeholder file + TEMP_DIR=$(mktemp -d) + echo "Directory placeholder - $(date)" > "${TEMP_DIR}/.placeholder" + + # Upload the placeholder file to create the directory structure + echo "Creating initial directory structure..." + curl -X PUT -u "${SONATYPE_USERNAME}:${SONATYPE_PASSWORD}" \ + --upload-file "${TEMP_DIR}/.placeholder" \ + "https://aws.oss.sonatype.org/content/repositories/snapshots/org/opensearch/direct-query/.placeholder" + + # Clean up + rm -rf "${TEMP_DIR}" + echo "Directory structure created" + - name: publish snapshots to maven run: | export SONATYPE_USERNAME=$(aws secretsmanager get-secret-value --secret-id maven-snapshots-username --query SecretString --output text)