| # 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/stormcrawler' |
| name: Publish Snapshots |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 |
| - uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 |
| with: |
| path: ~/.m2/repository |
| key: snapshots-maven-${{ hashFiles('**/pom.xml') }} |
| restore-keys: | |
| snapshots-maven- |
| - name: Set up JDK |
| uses: actions/setup-java@de7274f081f381c8f8158605e0321c36c376e2e6 # v6.0.1 |
| with: |
| distribution: temurin |
| java-version: 25 |
| - 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 |