Skip to content

Commit 681eeb6

Browse files
authored
Merge pull request #30 from fogfish/spawner-action
spawner action
2 parents 48f016c + befbc2a commit 681eeb6

File tree

4 files changed

+34
-183
lines changed

4 files changed

+34
-183
lines changed

.github/workflows/build.yml

Lines changed: 8 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -10,57 +10,20 @@ jobs:
1010
cloud:
1111
strategy:
1212
matrix:
13-
stack: [blueprint-golang]
13+
stack:
14+
- blueprint-golang
1415

1516
runs-on: ubuntu-latest
1617
steps:
1718

1819
- uses: actions/checkout@v2
1920

20-
- uses: peter-evans/create-issue-from-file@v4
21-
id: spawn-latest
22-
with:
23-
title: Spawn `main` branch of `${{ matrix.stack }}` to cloud
24-
content-filepath: ./.github/issue-spawn-latest.md
25-
26-
- uses: actions/setup-go@v3
21+
- uses: fogfish/deploy-cdk-go@latest
2722
with:
2823
go-version: 1.18
29-
cache: true
30-
31-
- name: go get tools
32-
run: |
33-
npm install -g aws-cdk
34-
35-
##
36-
## deploys application to aws
37-
- name: aws access
38-
uses: aws-actions/configure-aws-credentials@v1
39-
with:
40-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
41-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
24+
stack: ${{ matrix.stack }}
25+
version: latest
26+
issue-to-create: ./.github/issue-spawn-latest.md
27+
aws-access-key: ${{ secrets.AWS_ACCESS_KEY }}
28+
aws-secret-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
4229
aws-region: eu-west-1
43-
44-
- name: cdk deploy
45-
run: |
46-
cdk deploy ${{ matrix.stack }}-latest \
47-
-c vsn=latest \
48-
--outputs-file $GITHUB_WORKSPACE/stack.json
49-
env:
50-
GOPATH: /home/runner/go
51-
GOCACHE: /home/runner/.cache/go-build
52-
GOMODCACHE: /home/runner/go/pkg/mod
53-
54-
##
55-
## discover url of deployed api and runs api testing
56-
- name: discover
57-
id: discover
58-
run: |
59-
echo ::set-output name=target::$(jq -r '.["${{ matrix.stack }}-latest"] | to_entries | .[] | select(.key|test("GatewayEndpoint.*")) | .value ' < $GITHUB_WORKSPACE/stack.json)
60-
61-
- uses: peter-evans/close-issue@v2
62-
with:
63-
issue-number: ${{ steps.spawn-latest.outputs.issue-number }}
64-
comment: |
65-
Latest version of **${{ matrix.stack }}** is deployed to cloud environment:
66-
- **url**: ${{ steps.discover.outputs.target }}

.github/workflows/carry.yml

Lines changed: 8 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -7,56 +7,20 @@ jobs:
77
it:
88
strategy:
99
matrix:
10-
stack: [blueprint-golang]
10+
stack:
11+
- blueprint-golang
1112

1213
runs-on: ubuntu-latest
1314
steps:
1415

1516
- uses: actions/checkout@v2
1617

17-
- uses: peter-evans/create-issue-from-file@v4
18-
id: spawn-release
19-
with:
20-
title: Release ${{ github.event.release.name }} of `${{ matrix.stack }}`
21-
content-filepath: ./.github/issue-spawn-release.md
22-
23-
- uses: actions/setup-go@v3
18+
- uses: fogfish/deploy-cdk-go@latest
2419
with:
2520
go-version: 1.18
26-
cache: true
27-
28-
- name: go get tools
29-
run: |
30-
npm install -g aws-cdk
31-
32-
- name: aws access
33-
uses: aws-actions/configure-aws-credentials@v1
34-
with:
35-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
36-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
21+
stack: ${{ matrix.stack }}
22+
version: ${{ github.event.release.name }}
23+
issue-to-create: ./.github/issue-spawn-release.md
24+
aws-access-key: ${{ secrets.AWS_ACCESS_KEY }}
25+
aws-secret-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
3726
aws-region: eu-west-1
38-
39-
- name: cdk deploy
40-
run: |
41-
cdk deploy ${{ matrix.stack }}-${{ github.event.release.name }} \
42-
-c vsn=${{ github.event.release.name }} \
43-
--outputs-file $GITHUB_WORKSPACE/stack.json
44-
env:
45-
GOPATH: /home/runner/go
46-
GOCACHE: /home/runner/.cache/go-build
47-
GOMODCACHE: /home/runner/go/pkg/mod
48-
49-
##
50-
## discover url of deployed api and runs api testing
51-
- name: discover
52-
id: discover
53-
run: |
54-
echo ::set-output name=target::$(jq -r '.["${{ matrix.stack }}-${{ github.event.release.name }}"] | to_entries | .[] | select(.key|test("GatewayEndpoint.*")) | .value ' < $GITHUB_WORKSPACE/stack.json)
55-
56-
- uses: peter-evans/close-issue@v2
57-
with:
58-
issue-number: ${{ steps.spawn-release.outputs.issue-number }}
59-
comment: |
60-
Release ${{ github.event.release.name }} of **${{ matrix.stack }}** is deployed to cloud environment:
61-
- **url**: ${{ steps.discover.outputs.target }}
62-

.github/workflows/check-clean.yml

Lines changed: 10 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -11,60 +11,22 @@ jobs:
1111
it:
1212
strategy:
1313
matrix:
14-
stack: [blueprint-golang]
14+
stack:
15+
- blueprint-golang
1516

1617
runs-on: ubuntu-latest
1718
steps:
1819

1920
- uses: actions/checkout@v2
2021

21-
- uses: peter-evans/create-issue-from-file@v4
22-
id: clean-sandbox
23-
with:
24-
title: Clean up sandbox pr${{ github.event.number }} of `${{ matrix.stack }}`
25-
content-filepath: ./.github/issue-clean-sandbox.md
26-
27-
- uses: peter-evans/create-or-update-comment@v2
28-
with:
29-
issue-number: ${{ steps.clean-sandbox.outputs.issue-number }}
30-
body: |
31-
Destroying environment of #${{ github.event.number }}
32-
33-
- uses: peter-evans/create-or-update-comment@v2
34-
with:
35-
issue-number: ${{ github.event.number }}
36-
body: |
37-
destroying with #${{ steps.clean-sandbox.outputs.issue-number }}
38-
39-
- uses: actions/setup-go@v2
22+
- uses: fogfish/deploy-cdk-go@latest
4023
with:
4124
go-version: 1.18
42-
43-
##
44-
## fetch deps
45-
- name: go get tools
46-
run: |
47-
npm install -g aws-cdk
48-
49-
##
50-
## destroy application from aws
51-
- name: aws access
52-
uses: aws-actions/configure-aws-credentials@v1
53-
with:
54-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
55-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
25+
command: destroy
26+
stack: ${{ matrix.stack }}
27+
version: pr${{ github.event.number }}
28+
issue-to-comment: ${{ github.event.number }}
29+
issue-to-create: ./.github/issue-clean-sandbox.md
30+
aws-access-key: ${{ secrets.AWS_ACCESS_KEY }}
31+
aws-secret-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
5632
aws-region: eu-west-1
57-
58-
- name: cdk destroy
59-
run: |
60-
cdk destroy -f ${{ matrix.stack }}-pr${{ github.event.number }} \
61-
-c vsn=pr${{ github.event.number }}
62-
env:
63-
GOPATH: /home/runner/work/${{ github.event.repository.name }}/go
64-
65-
66-
- uses: peter-evans/close-issue@v2
67-
with:
68-
issue-number: ${{ steps.clean-sandbox.outputs.issue-number }}
69-
comment: |
70-
Sandbox #${{ github.event.number }} of **${{ matrix.stack }}** is destroyed.

.github/workflows/check-spawn.yml

Lines changed: 8 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -11,62 +11,24 @@ jobs:
1111
it:
1212
strategy:
1313
matrix:
14-
stack: [blueprint-golang]
14+
stack:
15+
- blueprint-golang
1516

1617
if: github.event.label.name == '[A] deploy'
1718

1819
runs-on: ubuntu-latest
1920
steps:
20-
2121
- uses: actions/checkout@v2
2222

23-
- uses: actions/setup-go@v3
23+
- uses: fogfish/deploy-cdk-go@latest
2424
with:
2525
go-version: 1.18
26-
cache: true
27-
28-
- uses: actions/cache@v3
29-
with:
30-
path: ./cdk.out
31-
key: check-${{ matrix.stack }}-${{ runner.os }}-cdk-${{ hashFiles('**/manifest.json') }}
32-
restore-keys: |
33-
check-${{ matrix.stack }}-${{ runner.os }}-cdk-
34-
35-
- name: go get tools
36-
run: |
37-
npm install -g aws-cdk
38-
39-
- name: aws access
40-
uses: aws-actions/configure-aws-credentials@v1
41-
with:
42-
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
43-
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
26+
stack: ${{ matrix.stack }}
27+
version: pr${{ github.event.number }}
28+
issue-to-comment: ${{ github.event.number }}
29+
aws-access-key: ${{ secrets.AWS_ACCESS_KEY }}
30+
aws-secret-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
4431
aws-region: eu-west-1
45-
46-
- name: cdk deploy
47-
run: |
48-
cdk deploy ${{ matrix.stack }}-pr${{ github.event.number }} \
49-
-c vsn=pr${{ github.event.number }} \
50-
--outputs-file $GITHUB_WORKSPACE/stack.json
51-
env:
52-
GOPATH: /home/runner/go
53-
GOCACHE: /home/runner/.cache/go-build
54-
GOMODCACHE: /home/runner/go/pkg/mod
55-
56-
##
57-
## discover url of deployed api and runs api testing
58-
- name: discover
59-
id: discover
60-
run: |
61-
echo ::set-output name=target::$(jq -r '.["${{ matrix.stack }}-pr${{ github.event.number }}"] | to_entries | .[] | select(.key|test("GatewayEndpoint.*")) | .value ' < $GITHUB_WORKSPACE/stack.json)
62-
63-
- uses: peter-evans/create-or-update-comment@v2
64-
with:
65-
issue-number: ${{ github.event.number }}
66-
body: |
67-
Sandbox for **${{ matrix.stack }}** is deployed to cloud environment:
68-
- **url**: ${{ steps.discover.outputs.target }}
69-
reactions: rocket
7032

7133
- uses: buildsville/add-remove-label@v1
7234
if: always()

0 commit comments

Comments
 (0)