Skip to content

Commit ca5141a

Browse files
Merge pull request #305 from microsoftgraph/rsh/publishUsingGHActions
Publish Preview and Release using GHActions
2 parents 2a9e939 + 0b98975 commit ca5141a

File tree

11 files changed

+124
-264
lines changed

11 files changed

+124
-264
lines changed

.azure-pipelines/buildAndPackage.yml

Lines changed: 0 additions & 111 deletions
This file was deleted.

.azure-pipelines/templates/build/build-and-coverage.yml

Lines changed: 0 additions & 16 deletions
This file was deleted.

.azure-pipelines/templates/build/checkout-and-credscan.yml

Lines changed: 0 additions & 9 deletions
This file was deleted.

.azure-pipelines/templates/build/publish-artefacts.yml

Lines changed: 0 additions & 22 deletions
This file was deleted.

.azure-pipelines/templates/copy-and-build.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

.azure-pipelines/templates/download-artifacts.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

.azure-pipelines/templates/install-java.yml

Lines changed: 0 additions & 11 deletions
This file was deleted.

.azure-pipelines/templates/secure-files.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

.azure-pipelines/templates/version-and-release.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
2+
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
3+
4+
name: Build and Publish
5+
6+
on:
7+
push:
8+
branches: [ dev , master ]
9+
paths:
10+
- 'src/**'
11+
- '.github/**'
12+
- '!.gradle/wrapper'
13+
- '!.gitignore'
14+
- '!LICENSE'
15+
- '!THIRD PARTY NOTICES'
16+
- '!*.md'
17+
- '*.gradle'
18+
env:
19+
PREVIEW_TASK: publishSnapshotPublicationToSonatypeSnapshotRepository
20+
PUBLISH_TASK: publishMavenCentralReleasePublicationToSonatypeRepository
21+
22+
jobs:
23+
maven_Preview:
24+
if: ${{ github.ref == 'refs/head/dev' }}
25+
environment:
26+
name: maven_central_snapshot
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: actions/checkout@v2
30+
- name: Easy detect-secrets
31+
uses: RobertFischer/detect-secrets-action@v2.0.0
32+
- name: Set up JDK
33+
uses: actions/setup-java@v2
34+
with:
35+
java-version: '16'
36+
distribution: 'adopt'
37+
cache: gradle
38+
- run: .\scripts\decodeAndWrite.ps1 -encodedValue $env:ENCODED_VALUE -outputPath $env:OUTPUT_PATH
39+
shell: pwsh
40+
env:
41+
ENCODED_VALUE: ${{ secrets.LOCAL_PROPERTIES }}
42+
OUTPUT_PATH: .\local.properties
43+
- name: Grant execute permission for gradlew
44+
run: chmod +x gradlew
45+
- name: Publish
46+
run: ./gradlew $PREVIEW_TASK
47+
48+
maven_Release:
49+
if: ${{ github.ref == 'ref/head/master' }}
50+
environment:
51+
name: maven_central_release
52+
runs-on: ubuntu-latest
53+
steps:
54+
- uses: actions/checkout@v2
55+
- name: Easy detect-secrets
56+
uses: RobertFischer/detect-secrets-action@v2.0.0
57+
- name: Set up JDK
58+
uses: actions/setup-java@v2
59+
with:
60+
java-version: '16'
61+
distribution: 'adopt'
62+
cache: gradle
63+
- run: .\scripts\decodeAndWrite.ps1 -encodedValue $env:ENCODED_VALUE -outputPath $env:OUTPUT_PATH
64+
shell: pwsh
65+
env:
66+
ENCODED_VALUE: ${{ secrets.LOCAL_PROPERTIES }}
67+
OUTPUT_PATH: .\local.properties
68+
- run: .\scripts\decodeAndWrite.ps1 -encodedValue $env:ENCODED_VALUE -outputPath $env:OUTPUT_PATH
69+
shell: pwsh
70+
env:
71+
ENCODED_VALUE: ${{ secrets.SECRING_GPG }}
72+
OUTPUT_PATH: .\secring.gpg
73+
- name: Grant execute permission for gradlew
74+
run: chmod +x gradlew
75+
- name: Publish
76+
run: ./gradlew $PUBLISH_TASK
77+
- name: Upload Build Artifact
78+
uses: actions/upload-artifact@v2.2.4
79+
with:
80+
name: drop
81+
path: |
82+
**/libs/*
83+
build/generated-pom.xml
84+
build/generated-pom.xml.asc
85+
build.gradle
86+
gradlew
87+
gradlew.bat
88+
settings.gradle
89+
gradle.properties
90+
**/gradle/**
91+
Scripts/**
92+
93+
githubRelease:
94+
needs: maven_Release
95+
runs-on: ubuntu-latest
96+
steps:
97+
- uses: actions/checkout@v2
98+
- name: Download Build Artifact
99+
uses: actions/download-artifact@v2.0.10
100+
with:
101+
name: drop
102+
path: drop
103+
- name: Github Release
104+
uses: anton-yurchenko/git-release@v4.1
105+
env:
106+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN}}
107+
DRAFT_RELEASE: "false"
108+
PRE_RELEASE: "false"
109+
CHANGELOG_FILE: "CHANGELOG.md"
110+
ALLOW_EMPTY_CHANGELOG: "true"
111+
with:
112+
args: |
113+
drop/**

0 commit comments

Comments
 (0)