-
Notifications
You must be signed in to change notification settings - Fork 3
125 lines (123 loc) · 4.18 KB
/
publish_to_maven_local.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
name: Test pulumi-kotlin generated code by publishing to Maven Local repository
on:
push:
branches:
- main
paths:
- '**.kt'
- '**.kts'
- '**.properties'
- '**.json'
- '**.xml'
- '**.yml'
- '**.yaml'
- '**.conf'
pull_request:
workflow_dispatch:
jobs:
publish-sdk:
name: Publish pulumi-kotlin SDK to Maven Local Repository
runs-on: ubuntu-latest
steps:
- name: Check out project sources
uses: actions/checkout@v3
- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: adopt
java-version: 11
- name: Publish to Maven Local
run: ./gradlew sdk:publishPulumiKotlinSdkPublicationToMavenLocal -Dorg.gradle.daemon=false -q
publish:
name: Publish pulumi-${{ matrix.provider }}-kotlin (${{ matrix.majorVersion }}) to Maven Local Repository
runs-on: [ self-hosted, active ]
if: ${{ startsWith(github.head_ref, 'prepare-release') || github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
strategy:
fail-fast: false
matrix:
include:
- provider: cloudflare
majorVersion: 4
- provider: cloudflare
majorVersion: 5
- provider: slack
majorVersion: 0
- provider: github
majorVersion: 5
- provider: random
majorVersion: 4
- provider: gcp
majorVersion: 6
- provider: google-native
majorVersion: 0
- provider: aws
majorVersion: 5
- provider: aws
majorVersion: 6
- provider: aws-native
majorVersion: 0
- provider: azure
majorVersion: 5
- provider: azure-native
majorVersion: 1
- provider: azure-native
majorVersion: 2
- provider: kubernetes
majorVersion: 3
- provider: kubernetes
majorVersion: 4
- provider: nomad
majorVersion: 0
- provider: docker
majorVersion: 3
- provider: docker
majorVersion: 4
- provider: gitlab
majorVersion: 4
- provider: gitlab
majorVersion: 5
- provider: gitlab
majorVersion: 6
- provider: digitalocean
majorVersion: 4
- provider: alicloud
majorVersion: 3
steps:
- name: Check out project sources
uses: actions/checkout@v3
- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: adopt
java-version: 11
- name: Check if publication to Maven Local is necessary
id: check-for-release
shell: python
run: |
import os
import json
with open("src/main/resources/version-config.json") as version_config:
schemas = json.load(version_config)
versions = [
schema["kotlinVersion"] for schema in schemas
if schema["providerName"] == "${{ matrix.provider }}"
and schema["kotlinVersion"].split(".")[0] == "${{ matrix.majorVersion }}"
]
version = versions[0]
is_release = not version.endswith("-SNAPSHOT")
with open(os.environ['GITHUB_OUTPUT'], 'a') as fh:
fh.write('is_release=' + str(is_release).lower())
- name: Publish to Maven Local
id: publish-to-maven-local
run: ./gradlew publishPulumi${{ matrix.provider }}${{ matrix.majorVersion }}PublicationToMavenLocal -Dorg.gradle.daemon=false -q
if: |
(startsWith(github.head_ref, 'prepare-release') && steps.check-for-release.outputs.is_release == 'true') ||
(github.event_name == 'push' && steps.check-for-release.outputs.is_release == 'false') ||
github.event_name == 'workflow_dispatch'
- name: Upload buildSrc test report
if: ${{ failure() && steps.publish-to-maven-local.outcome == 'failure' }}
uses: actions/upload-artifact@v3
with:
name: build-src-test-report
path: ./buildSrc/build/reports/tests/test/*
retention-days: 3