1010env :
1111 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
1212 GO_VERSION : ' 1.9.7'
13- 14- GPG_PASSPHRASE : ${{ secrets.OHAI_GPG_PASSPHRASE }}
15- GPG_PRIVATE_KEY_BASE64 : ${{ secrets.OHAI_GPG_PRIVATE_KEY_BASE64 }} # base64 encoded
1613 INTEGRATION : " redis"
1714 ORIGINAL_REPO_NAME : ' newrelic/nri-redis'
18- PFX_CERTIFICATE_BASE64 : ${{ secrets.OHAI_PFX_CERTIFICATE_BASE64 }} # base64 encoded
19- PFX_CERTIFICATE_DESCRIPTION : ' New Relic'
20- PFX_PASSPHRASE : ${{ secrets.OHAI_PFX_PASSPHRASE }}
2115 REPO_FULL_NAME : ${{ github.event.repository.full_name }}
22- SLACK_TOKEN : ${{ secrets.OHAI_SLACK_TOKEN }}
23- SLACK_CHANNEL : ${{ secrets.OHAI_SLACK_CHANNEL }}
24- SNYK_TOKEN : ${{ secrets.COREINT_SNYK_TOKEN }}
2516 TAG : ${{ github.event.release.tag_name }}
26- DOCKER_HUB_ID : ${{ secrets.OHAI_DOCKER_HUB_ID }}
27- DOCKER_HUB_PASSWORD : ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }}
2817
2918jobs :
3019
3625 - name : Login to DockerHub
3726 uses : docker/login-action@v1
3827 with :
39- username : ${{ env.DOCKER_HUB_ID }}
40- password : ${{ env.DOCKER_HUB_PASSWORD }}
28+ username : ${{ secrets.OHAI_DOCKER_HUB_ID }}
29+ password : ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }}
4130 - name : Validate code
4231 run : make ci/validate
4332
4938 - name : Login to DockerHub
5039 uses : docker/login-action@v1
5140 with :
52- username : ${{ env.DOCKER_HUB_ID }}
53- password : ${{ env.DOCKER_HUB_PASSWORD }}
41+ username : ${{ secrets.OHAI_DOCKER_HUB_ID }}
42+ password : ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }}
5443 - name : Scan code for vulnerabilities
44+ env :
45+ SNYK_TOKEN : ${{ secrets.COREINT_SNYK_TOKEN }}
5546 run : make ci/snyk-test
5647
5748 test-nix :
6253 - name : Login to DockerHub
6354 uses : docker/login-action@v1
6455 with :
65- username : ${{ env.DOCKER_HUB_ID }}
66- password : ${{ env.DOCKER_HUB_PASSWORD }}
56+ username : ${{ secrets.OHAI_DOCKER_HUB_ID }}
57+ password : ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }}
6758 - name : Unit tests
6859 run : make ci/test
6960
8879 shell : pwsh
8980 run : |
9081 .\build\windows\unit_tests.ps1
91-
9282 # can't run this step inside of container because of tests specific
9383 test-integration-nix :
9484 name : Run integration tests on *Nix
10999 - name : Login to DockerHub
110100 uses : docker/login-action@v1
111101 with :
112- username : ${{ env.DOCKER_HUB_ID }}
113- password : ${{ env.DOCKER_HUB_PASSWORD }}
102+ username : ${{ secrets.OHAI_DOCKER_HUB_ID }}
103+ password : ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }}
114104 - name : Integration test
115105 env :
116106 GOPATH : ${{ github.workspace }}
@@ -125,39 +115,43 @@ jobs:
125115 - name : Login to DockerHub
126116 uses : docker/login-action@v1
127117 with :
128- username : ${{ env.DOCKER_HUB_ID }}
129- password : ${{ env.DOCKER_HUB_PASSWORD }}
118+ username : ${{ secrets.OHAI_DOCKER_HUB_ID }}
119+ password : ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }}
130120 - name : Pre release
131121 run : make ci/prerelease
132- - name : Notify failure via Slack
133- if : ${{ failure() }}
134- uses : archive/github-actions-slack@master
135- with :
136- slack-bot-user-oauth-access-token : ${{ env.SLACK_TOKEN }}
137- slack-channel : ${{ env.SLACK_CHANNEL }}
138- slack-text : " :shit: Repo: ${{ env.REPO_FULL_NAME }}, prerelease for nix FAILURE!"
122+ env :
123+ 124+ GPG_PASSPHRASE : ${{ secrets.OHAI_GPG_PASSPHRASE }}
125+ GPG_PRIVATE_KEY_BASE64 : ${{ secrets.OHAI_GPG_PRIVATE_KEY_BASE64 }} # base64 encoded
139126 - name : Test package installability
140127 uses : newrelic/integrations-pkg-test-action/linux@v1
141128 with :
142129 tag : ${{ env.TAG }}
143130 integration : nri-${{ env.INTEGRATION }}
131+ - name : Notify failure via Slack
132+ if : ${{ failure() }}
133+ uses : archive/github-actions-slack@master
134+ with :
135+ slack-bot-user-oauth-access-token : ${{ secrets.COREINT_SLACK_TOKEN }}
136+ slack-channel : ${{ secrets.COREINT_SLACK_CHANNEL }}
137+ slack-text : " ❌ `${{ env.REPO_FULL_NAME }}`: prerelease pipeline failed."
144138
145139 package-win :
146140 name : Create MSI & Upload into GH Release assets
147141 runs-on : windows-2019
148142 needs : [prerelease]
149143 env :
150144 GOPATH : ${{ github.workspace }}
145+ PFX_CERTIFICATE_BASE64 : ${{ secrets.OHAI_PFX_CERTIFICATE_BASE64 }} # base64 encoded
146+ PFX_CERTIFICATE_DESCRIPTION : ' New Relic'
147+ PFX_PASSPHRASE : ${{ secrets.OHAI_PFX_PASSPHRASE }}
151148 defaults :
152149 run :
153150 working-directory : src/github.com/${{env.ORIGINAL_REPO_NAME}}
154151 strategy :
155152 matrix :
156153 goarch : [amd64,386]
157154 test-upgrade : [true,false]
158- exclude :
159- - goarch : 386
160- test-upgrade : true
161155 steps :
162156 - name : Checkout
163157 uses : actions/checkout@v2
@@ -190,6 +184,49 @@ jobs:
190184 if : ${{ failure() }}
191185 uses : archive/github-actions-slack@master
192186 with :
193- slack-bot-user-oauth-access-token : ${{ env.SLACK_TOKEN }}
194- slack-channel : ${{ env.SLACK_CHANNEL }}
195- slack-text : " :shit: Repo: ${{ env.REPO_FULL_NAME }}, prerelease for Windows FAILURE!"
187+ slack-bot-user-oauth-access-token : ${{ secrets.COREINT_SLACK_TOKEN }}
188+ slack-channel : ${{ secrets.COREINT_SLACK_CHANNEL }}
189+ slack-text : " ❌ `${{ env.REPO_FULL_NAME }}`: prerelease pipeline failed."
190+
191+ publish-to-s3 :
192+ name : Send release assets to S3
193+ runs-on : ubuntu-20.04
194+ needs : [package-win]
195+ steps :
196+ - name : Login to DockerHub
197+ uses : docker/login-action@v1
198+ with :
199+ username : ${{ secrets.OHAI_DOCKER_HUB_ID }}
200+ password : ${{ secrets.OHAI_DOCKER_HUB_PASSWORD }}
201+ - name : Publish to S3 action
202+ uses : newrelic/infrastructure-publish-action@v1
203+ env :
204+ AWS_S3_BUCKET_NAME : " nr-downloads-ohai-staging"
205+ AWS_S3_LOCK_BUCKET_NAME : " onhost-ci-lock-staging"
206+ with :
207+ disable_lock : false
208+ run_id : ${{ github.run_id }}
209+ tag : ${{env.TAG}}
210+ app_name : " nri-${{env.INTEGRATION}}"
211+ repo_name : ${{ env.ORIGINAL_REPO_NAME }}
212+ # 'ohi' is for integrations
213+ schema : " ohi"
214+ aws_region : " us-east-1"
215+ aws_role_arn : ${{ secrets.OHAI_AWS_ROLE_ARN_STAGING }}
216+ aws_role_session_name : ${{ secrets.OHAI_AWS_ROLE_SESSION_NAME_STAGING }}
217+ aws_access_key_id : ${{ secrets.OHAI_AWS_ACCESS_KEY_ID_STAGING }}
218+ aws_secret_access_key : ${{ secrets.OHAI_AWS_SECRET_ACCESS_KEY_STAGING }}
219+ aws_s3_bucket_name : ${{ env.AWS_S3_BUCKET_NAME }}
220+ # used for locking in case of concurrent releases
221+ aws_s3_lock_bucket_name : ${{ env.AWS_S3_LOCK_BUCKET_NAME }}
222+ # used for signing package stuff
223+ gpg_passphrase : ${{ secrets.OHAI_GPG_PASSPHRASE }}
224+ gpg_private_key_base64 : ${{ secrets.OHAI_GPG_PRIVATE_KEY_BASE64 }}
225+ - name : Test uploaded package installability
226+ uses : newrelic/integrations-pkg-test-action/linux@v1
227+ with :
228+ tag : ${{ env.TAG }}
229+ integration : nri-${{ env.INTEGRATION }}
230+ packageLocation : repo
231+ stagingRepo : true
232+ upgrade : false
0 commit comments