Skip to content

Commit d3ace31

Browse files
authored
Merge pull request #1 from HHS/initial-version
GCM Pipeline 1.0.0
2 parents 3252e46 + 4fe90cf commit d3ace31

File tree

10 files changed

+945
-0
lines changed

10 files changed

+945
-0
lines changed

.github/dependabot.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "maven" # See documentation for possible values
9+
directory: "/" # Location of package manifests
10+
schedule:
11+
interval: "daily"
12+
target-branch: "dev"
13+
open-pull-requests-limit: 10
14+
groups:
15+
standard-plugins:
16+
patterns:
17+
- "org.codehaus.mojo:flatten-maven-plugin"
18+
- "org.apache.maven.plugins*"
19+
deploy-plugins:
20+
patterns:
21+
- "org.sonatype.central"
22+
dependencies:
23+
patterns:
24+
- "org.apache.commons:commons-math3"
25+
- "net.jcip:jcip-annotations"
26+
aspr-ms-dependencies:
27+
patterns:
28+
- "gov.hhs.aspr.ms.gcm:simulation"
29+
- "gov.hhs.aspr.ms.gcm.taskit*"
30+
test-dependencies:
31+
patterns:
32+
- "org.jacoco*"
33+
- "org.junit.jupiter*"

.github/workflows/dev_build.yml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
3+
4+
# This workflow uses actions that are not certified by GitHub.
5+
# They are provided by a third-party and are governed by
6+
# separate terms of service, privacy policy, and support
7+
# documentation.
8+
9+
name: GCM Pipeline Development Build
10+
11+
on:
12+
push:
13+
branches: [ "dev" ]
14+
pull_request:
15+
branches: [ "dev" ]
16+
17+
jobs:
18+
dev-build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout GCM Pipeline
22+
uses: actions/checkout@v4
23+
24+
- name: Set up JDK 17
25+
uses: actions/setup-java@v4
26+
with:
27+
java-version: '17'
28+
distribution: 'temurin'
29+
cache: maven
30+
31+
- name: Get GCM Version
32+
run: |
33+
echo "gcm_version=v$(mvn help:evaluate -Dexpression=gcm.version -q -DforceStdout --file pom.xml)" >> "$GITHUB_ENV"
34+
35+
- name: Checkout GCM
36+
if: ${{ endsWith(env.gcm_version, 'SNAPSHOT') }}
37+
uses: actions/checkout@v4
38+
with:
39+
repository: HHS/ASPR-8
40+
path: gcm
41+
ref: dev
42+
43+
- name: Get GCM Taskit Version
44+
run: |
45+
echo "gcm_taskit_version=v$(mvn help:evaluate -Dexpression=gcm-taskit.version -q -DforceStdout --file pom.xml)" >> "$GITHUB_ENV"
46+
47+
- name: Checkout GCM Taskit
48+
if: ${{ endsWith(env.gcm_taskit_version, 'SNAPSHOT') }}
49+
uses: actions/checkout@v4
50+
with:
51+
repository: HHS/ASPR-ms-gcm-taskit
52+
path: gcm-taskit
53+
ref: dev
54+
55+
- name: Get Util Version
56+
if: ${{ endsWith(env.gcm_version, 'SNAPSHOT') }}
57+
run: |
58+
echo "util_version=v$(mvn help:evaluate -Dexpression=util.version -q -DforceStdout --file gcm/pom.xml)" >> "$GITHUB_ENV"
59+
60+
- name: Checkout Util
61+
if: ${{ endsWith(env.util_version, 'SNAPSHOT') }}
62+
uses: actions/checkout@v4
63+
with:
64+
repository: HHS/ASPR-ms-util
65+
path: util
66+
ref: dev
67+
68+
- name: Get Taskit Version
69+
if: ${{ endsWith(env.gcm_taskit_version, 'SNAPSHOT') }}
70+
run: |
71+
echo "taskit_version=v$(mvn help:evaluate -Dexpression=taskit.version -q -DforceStdout --file gcm-taskit/pom.xml)" >> "$GITHUB_ENV"
72+
73+
- name: Checkout Taskit
74+
if: ${{ endsWith(env.taskit_version, 'SNAPSHOT') }}
75+
uses: actions/checkout@v4
76+
with:
77+
repository: HHS/ASPR-ms-taskit
78+
path: taskit-core
79+
ref: dev
80+
81+
- name: Build Util
82+
if: ${{ endsWith(env.util_version, 'SNAPSHOT') }}
83+
run: mvn clean install -DskipTests --file util/pom.xml
84+
85+
- name: Build GCM
86+
if: ${{ endsWith(env.gcm_version, 'SNAPSHOT') }}
87+
run: mvn clean install -DskipTests --file gcm/pom.xml
88+
89+
- name: Build Taskit
90+
if: ${{ endsWith(env.taskit_version, 'SNAPSHOT') }}
91+
run: mvn clean install -DskipTests --file taskit-core/pom.xml
92+
93+
- name: Build GCM Taskit
94+
if: ${{ endsWith(env.gcm_taskit_version, 'SNAPSHOT') }}
95+
run: mvn clean install -DskipTests --file gcm-taskit/pom.xml
96+
97+
- name: Build GCM Pipeline
98+
run: mvn clean install --file pom.xml
99+
100+
# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
101+
# - name: Update dependency graph
102+
# uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6

.github/workflows/release_build.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
3+
4+
# This workflow uses actions that are not certified by GitHub.
5+
# They are provided by a third-party and are governed by
6+
# separate terms of service, privacy policy, and support
7+
# documentation.
8+
9+
name: GCM Pipeline Release Build
10+
11+
on:
12+
push:
13+
paths-ignore:
14+
- 'README.md'
15+
- 'LICENSE'
16+
branches: ["main"]
17+
18+
jobs:
19+
release:
20+
runs-on: ubuntu-latest
21+
steps:
22+
- name: Checkout GCM Pipeline
23+
uses: actions/checkout@v4
24+
25+
- name: Set up JDK 17
26+
uses: actions/setup-java@v4
27+
with:
28+
java-version: '17'
29+
distribution: 'temurin'
30+
server-id: central
31+
server-username: MAVEN_USERNAME
32+
server-password: MAVEN_PASSWORD
33+
gpg-private-key: ${{ secrets.GPG_SECRET_KEY }}
34+
gpg-passphrase: MAVEN_GPG_PASSPHRASE
35+
36+
- name: Build and Deploy GCM Pipeline
37+
run: mvn clean deploy -Pjavadoc,sign --file pom.xml
38+
env:
39+
MAVEN_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
40+
MAVEN_PASSWORD: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
41+
MAVEN_GPG_PASSPHRASE: ${{ secrets.GPG_SECRET_KEY_PASSWORD }}
42+
43+
- name: Get GCM Pipeline Version
44+
run: |
45+
echo "version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout --file pom.xml)" >> "$GITHUB_ENV"
46+
47+
- name: Make Release
48+
uses: ncipollo/release-action@v1
49+
with:
50+
artifacts: "target/pipeline-${{ env.version }}*"
51+
name: "v${{ env.version }}"
52+
tag: "v${{ env.version }}"
53+
generateReleaseNotes: true
54+
skipIfReleaseExists: true
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven
3+
4+
# This workflow uses actions that are not certified by GitHub.
5+
# They are provided by a third-party and are governed by
6+
# separate terms of service, privacy policy, and support
7+
# documentation.
8+
9+
name: GCM Pipeline Release Pull Request Build
10+
11+
on:
12+
pull_request:
13+
branches: [ "main" ]
14+
15+
jobs:
16+
release-pr-build:
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout GCM
20+
uses: actions/checkout@v4
21+
22+
- name: Set up JDK 17
23+
uses: actions/setup-java@v4
24+
with:
25+
java-version: '17'
26+
distribution: 'temurin'
27+
28+
- name: Get Version
29+
run: |
30+
echo "version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout --file pom.xml)" >> "$GITHUB_ENV"
31+
32+
- name: Version Is Snapshot
33+
if: ${{ endsWith(env.version, 'SNAPSHOT') }}
34+
run: |
35+
echo "Version is a SNAPSHOT version. Update version to proper version."
36+
exit 1
37+
38+
- name: Build GCM Pipeline
39+
run: mvn clean install -Pjavadoc,jacoco --file pom.xml
40+
41+
# Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive
42+
# - name: Update dependency graph
43+
# uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6

0 commit comments

Comments
 (0)