-
Notifications
You must be signed in to change notification settings - Fork 50
124 lines (100 loc) · 3.42 KB
/
release.yaml
File metadata and controls
124 lines (100 loc) · 3.42 KB
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
name: Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write # required for uploading releases
id-token: write
env:
DEFAULT_GO_VERSION: ^1.23
DEFAULT_PY_VERSION: "3.9"
GITHUB_USERNAME: ${{ secrets.EC2_BOT_GITHUB_USERNAME }}
GITHUB_TOKEN: ${{ secrets.EC2_BOT_GITHUB_TOKEN }}
jobs:
release:
name: Release
runs-on: ubuntu-20.04
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Validate Release Version
run: make validate-release-version
- name: Set Release Version
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
- name: Build Artifacts
run: make build-release-assets
- name: Upload Artifacts to GitHub
uses: softprops/action-gh-release@v1
with:
files: |
build/bin/*
build/k8s-resources/${{ env.RELEASE_VERSION }}/individual-resources.tar
build/k8s-resources/${{ env.RELEASE_VERSION }}/all-resources.yaml
build/k8s-resources/${{ env.RELEASE_VERSION }}/helm-chart-archives/*
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.WF_ROLE_ARN }}
role-session-name: "aemm-release-${{ github.run_id }}"
aws-region: us-east-1
- name: Release Docker Linux
run: make release-docker-linux
releaseWindows:
name: Release Windows
runs-on: windows-2025
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.WF_ROLE_ARN }}
role-session-name: "aemm-release-windows-${{ github.run_id }}"
aws-region: us-east-1
- name: Release Windows Docker Image
run: make release-docker-windows
postRelease:
name: Post Release
runs-on: ubuntu-20.04
needs: [release, releaseWindows]
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Sync to Homebrew
run: make homebrew-sync
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: ${{ secrets.WF_ROLE_ARN }}
role-session-name: "aemm-post-release-${{ github.run_id }}"
aws-region: us-east-1
- name: Sync Helm Chart Catalog information
run: make sync-catalog-information-for-helm-chart
- name: Sync Helm Chart to ECR Public
run: make push-helm-chart
helmLint:
name: Helm Lint Test
runs-on: ubuntu-20.04
needs: [release, releaseWindows]
steps:
- name: Set up Go 1.x
uses: actions/setup-go@v2
with:
go-version: ${{ env.DEFAULT_GO_VERSION }}
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Helm Lint Test
run: make validate-release-version