You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stormcrawler.apache.org by jn...@apache.org on 2024/09/11 18:03:12 UTC

(incubator-stormcrawler) branch main updated: #1295 - Add workflow to publish SNAPSHOTS to repository.a.o (#1296)

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

jnioche pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-stormcrawler.git


The following commit(s) were added to refs/heads/main by this push:
     new 72dd5e57 #1295 - Add workflow to publish SNAPSHOTS to repository.a.o (#1296)
72dd5e57 is described below

commit 72dd5e5767541a80929d74ecd35c87d5e0051ebe
Author: Richard Zowalla <13...@users.noreply.github.com>
AuthorDate: Wed Sep 11 20:03:09 2024 +0200

    #1295 - Add workflow to publish SNAPSHOTS to repository.a.o (#1296)
---
 .github/workflows/snapshots.yaml | 62 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/.github/workflows/snapshots.yaml b/.github/workflows/snapshots.yaml
new file mode 100644
index 00000000..6c4317b8
--- /dev/null
+++ b/.github/workflows/snapshots.yaml
@@ -0,0 +1,62 @@
+# 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 SNAPSHOTs
+
+on:
+  workflow_dispatch: { }
+  schedule:
+    # every day 5min after midnight, UTC.
+    - cron: "5 0 * * *"
+
+jobs:
+  upload_to_nightlies:
+    if: github.repository == 'apache/incubator-stormcrawler'
+    name: Publish Snapshots
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v4
+      - uses: actions/cache@v4
+        with:
+          path: ~/.m2/repository
+          key: snapshots-maven-${{ hashFiles('**/pom.xml') }}
+          restore-keys: |
+            snapshots-maven-
+      - name: Set up JDK
+        uses: actions/setup-java@v4
+        with:
+          distribution: temurin
+          java-version: 17
+      - 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 stormcrawler artifacts
+        if: steps.extract_version.outputs.snapshot == 'SNAPSHOT'
+        run: rm -rf ~/.m2/repository/org/apache/stormcrawler
+      - 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