Skip to content

Commit

Permalink
adding nightly publish (#28255)
Browse files Browse the repository at this point in the history
* adding nightly publish

* added nexus server to m2 setting
  • Loading branch information
volatilemolotov authored Sep 5, 2023
1 parent 55e1031 commit 67e88d9
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 5 deletions.
89 changes: 89 additions & 0 deletions .github/workflows/beam_Release_NightlySnapshot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# 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: Release Nightly Snapshot

on:
schedule:
- cron: '15 12 * * *'
workflow_dispatch:

#Setting explicit permissions for the action to avoid the default permissions which are `write-all` in case of pull_request_target event
permissions:
actions: write
pull-requests: read
checks: read
contents: read
deployments: read
id-token: none
issues: read
discussions: read
packages: read
pages: read
repository-projects: read
security-events: read
statuses: read

env:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
GRADLE_ENTERPRISE_CACHE_USERNAME: ${{ secrets.GE_CACHE_USERNAME }}
GRADLE_ENTERPRISE_CACHE_PASSWORD: ${{ secrets.GE_CACHE_PASSWORD }}

jobs:
beam_Release_NightlySnapshot:
name: ${{matrix.job_name}} (${{matrix.job_phrase}})
runs-on: [self-hosted, ubuntu-20.04, main]
strategy:
matrix:
job_name: [beam_Release_NightlySnapshot]
job_phrase: [Release Nightly Snapshot]
if: |
github.event_name == 'workflow_dispatch' ||
github.event_name == 'schedule'
steps:
- uses: actions/checkout@v3
- name: Setup repository
uses: ./.github/actions/setup-action
with:
github_job: ${{matrix.job_name}}
github_token: ${{ secrets.GITHUB_TOKEN }}
comment_phrase: "Release Nightly Snapshot"
- name: Install Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: '8'
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
with:
cache-read-only: false
- name: Auth on snapshot repository
run: |
mkdir -p ${HOME}/.m2
echo "<settings>
<servers>
<server>
<id>apache.snapshots.https</id>
<username>${{ secrets.NEXUS_USER }}</username>
<password>${{ secrets.NEXUS_PW }}</password>
</server>
</servers>
</settings>" > ${HOME}/.m2/settings.xml
- name: run Publish script
uses: ./.github/actions/gradle-command-self-hosted-action
with:
gradle-command: publish
arguments: -Ppublishing -PskipCheckerFramework -PisNightly
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,9 @@ class BeamModulePlugin implements Plugin<Project> {
def isRelease(Project project) {
return parseBooleanProperty(project, 'isRelease');
}

def isNightly(Project project) {
return parseBooleanProperty(project, 'isNightly');
}
/**
* Parses -Pprop as true for use as a flag, and otherwise uses Groovy's toBoolean
*/
Expand All @@ -458,10 +460,14 @@ class BeamModulePlugin implements Plugin<Project> {

project.ext.mavenGroupId = 'org.apache.beam'

// Automatically use the official release version if we are performing a release
// otherwise append '-SNAPSHOT'
project.version = '2.51.0'
if (!isRelease(project)) {
if (isRelease(project) && isNightly(project)) {
throw new GradleException("Cannot specify both -PisRelease and -PisNightly properties")
}
if (isNightly(project)) {
Date date = new Date()
project.version += "-" + date.format('yyyyMMdd')
}
else if (!isRelease(project)) {
project.version += '-SNAPSHOT'
}

Expand Down

0 comments on commit 67e88d9

Please sign in to comment.