This is an automated email from the ASF dual-hosted git repository.

rzo1 pushed a commit to branch STORM-4008
in repository https://gitbox.apache.org/repos/asf/storm.git

commit d54c576da6f68eb36512929f4fd10cd19f071729
Author: Richard Zowalla <richard.zowa...@hs-heilbronn.de>
AuthorDate: Mon Dec 4 15:25:49 2023 +0100

    STORM-4008 - Implement timed GH actions to publish SNAPSHOTS
---
 .github/workflows/snapshots.yaml | 81 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

diff --git a/.github/workflows/snapshots.yaml b/.github/workflows/snapshots.yaml
new file mode 100644
index 000000000..7f8461fb4
--- /dev/null
+++ b/.github/workflows/snapshots.yaml
@@ -0,0 +1,81 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+name: Publish Storm to nightlies.apache.org
+
+on:
+  workflow_dispatch: { }
+  schedule:
+    # every day 5min after midnight, UTC.
+    - cron: "5 0 * * *"
+
+jobs:
+  upload_to_nightlies:
+    if: github.repository == 'apache/storm'
+    name: Publish Snapshots
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - uses: actions/cache@v3
+        with:
+          path: ~/.m2/repository
+          key: snapshots-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            snapshots-maven-
+      - name: Set up Python
+        uses: actions/setup-python@v4
+        with:
+          python-version: '3.10'
+      - name: Set up Node
+        uses: actions/setup-node@v3
+        with:
+          node-version: 16
+      - name: Set up Ruby
+        uses: ruby/setup-ruby@v1
+        with:
+          ruby-version: '2.7'
+      - name: Set up JDK ${{ matrix.java }}
+        uses: actions/setup-java@v3
+        with:
+          distribution: temurin
+          java-version: 11
+      - name: Set up Maven # We need to avoid default-http-blocker at the 
moment until we fix it ;-)
+        uses: stCarolas/setup-maven@v4.5
+        with:
+          maven-version: 3.6.3
+      - id: extract_version
+        name: Extract project version
+        shell: bash
+        run: |
+          VERSION=$(mvn exec:exec -Dexec.executable='echo' 
-Dexec.args='${project.version}' --non-recursive -q)
+          if [[ "$VERSION" == *"SNAPSHOT"* ]]; then
+             echo "snapshot=SNAPSHOT" >> $GITHUB_OUTPUT
+          fi
+      - name: Ensure a clean state without storm artifacts
+        if: steps.extract_version.outputs.snapshot == 'SNAPSHOT'
+        run: rm -rf ~/.m2/repository/org/apache/storm
+      - name: Set up project dependencies
+        if: steps.extract_version.outputs.snapshot == 'SNAPSHOT'
+        run: /bin/bash ./dev-tools/gitact/gitact-install.sh `pwd`
+      - name: Deploy Maven snapshots
+        if: steps.extract_version.outputs.snapshot == 'SNAPSHOT'
+        env:
+          ASF_USERNAME: ${{ secrets.NEXUS_USER }}
+          ASF_PASSWORD: ${{ secrets.NEXUS_PW }}
+        run: |
+          echo 
"<settings><servers><server><id>apache.snapshots.https</id><username>$ASF_USERNAME</username><password>$ASF_PASSWORD</password></server></servers></settings>"
 > settings.xml
+          mvn --settings settings.xml -U -B -e -fae -ntp -DskipTests deploy
\ No newline at end of file

Reply via email to