Skip to content

Commit af43601

Browse files
committed
Added release workflow
1 parent 2405ecf commit af43601

File tree

1 file changed

+85
-1
lines changed

1 file changed

+85
-1
lines changed

.github/workflows/release.yaml

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,88 @@ jobs:
1919
registry: "${{ secrets.ECR_REGISTRY }}"
2020
secret-outputs-passphrase: "${{ secrets.GHA_SECRET_OUTPUT_PASSPHRASE }}"
2121
ecr-region: "${{ secrets.ECR_REGION }}"
22-
ecr-iam-role: "${{ secrets.ECR_IAM_ROLE }}"
22+
ecr-iam-role: "${{ secrets.ECR_IAM_ROLE }}"
23+
24+
monorepo:
25+
uses: cloudposse/github-actions-workflows/.github/workflows/controller-monorepo.yml@main
26+
with:
27+
dir: ./apps
28+
29+
ci:
30+
uses: cloudposse/github-actions-workflows/.github/workflows/ci-dockerized-app-promote.yml@main
31+
needs: [monorepo]
32+
if: ${{ needs.monorepo.outputs.apps != '[]' }}
33+
strategy:
34+
matrix:
35+
app: ${{ fromJson(needs.monorepo.outputs.apps) }}
36+
with:
37+
organization: ${{ github.event.repository.owner.login }}
38+
repository: ${{ github.event.repository.name }}
39+
app: ${{ matrix.app }}
40+
version: ${{ inputs.version }}
41+
matrix-step-name: ci
42+
matrix-key: ${{ matrix.app }}
43+
secrets:
44+
ecr-region: ${{ secrets.ECR_REGION }}
45+
ecr-iam-role: ${{ secrets.ECR_IAM_ROLE }}
46+
registry: ${{ secrets.ECR_REGISTRY }}
47+
secret-outputs-passphrase: ${{ secrets.GHA_SECRET_OUTPUT_PASSPHRASE }}
48+
49+
ci-outputs:
50+
runs-on: ubuntu-latest
51+
needs: [ci]
52+
steps:
53+
- uses: cloudposse/[email protected]
54+
id: current
55+
with:
56+
matrix-step-name: ci
57+
outputs:
58+
image: ${{ toJson(fromJson(steps.current.outputs.result).image) }}
59+
tag: ${{ toJson(fromJson(steps.current.outputs.result).tag) }}
60+
61+
62+
cd-staging:
63+
name: cd / staging
64+
uses: cloudposse/github-actions-workflows/.github/workflows/cd-ecs.yml@main
65+
needs: [ monorepo, ci-outputs ]
66+
if: ${{ needs.monorepo.outputs.apps != '[]' }}
67+
strategy:
68+
matrix:
69+
app: ${{ fromJson(needs.monorepo.outputs.apps) }}
70+
with:
71+
image: ${{ fromJson(needs.ci-outputs.outputs.image)[matrix.app] }}
72+
tag: ${{ fromJson(needs.ci-outputs.outputs.tag)[matrix.app] }}
73+
repository: ${{ github.event.repository.name }}
74+
app: ${{ matrix.app }}
75+
environment: staging
76+
spacelift-organization: ${{ github.event.repository.owner.login }}
77+
matrix-step-name: cd/staging
78+
matrix-key: ${{ matrix.app }}
79+
secrets:
80+
secret-outputs-passphrase: ${{ secrets.GHA_SECRET_OUTPUT_PASSPHRASE }}
81+
github-private-actions-pat: ${{ secrets.PUBLIC_REPO_ACCESS_TOKEN }}
82+
spacelift-api-key-id: ${{ secrets.SPACELIFT_API_KEY_ID }}
83+
spacelift-api-key-secret: ${{ secrets.SPACELIFT_API_KEY_SECRET }}
84+
85+
cd-production:
86+
name: cd / production
87+
uses: cloudposse/github-actions-workflows/.github/workflows/cd-ecs.yml@main
88+
needs: [ monorepo, ci-outputs ]
89+
if: ${{ needs.monorepo.outputs.apps != '[]' }}
90+
strategy:
91+
matrix:
92+
app: ${{ fromJson(needs.monorepo.outputs.apps) }}
93+
with:
94+
image: ${{ fromJson(needs.ci-outputs.outputs.image)[matrix.app] }}
95+
tag: ${{ fromJson(needs.ci-outputs.outputs.tag)[matrix.app] }}
96+
repository: ${{ github.event.repository.name }}
97+
app: ${{ matrix.app }}
98+
environment: production
99+
spacelift-organization: ${{ github.event.repository.owner.login }}
100+
matrix-step-name: cd/production
101+
matrix-key: ${{ matrix.app }}
102+
secrets:
103+
secret-outputs-passphrase: ${{ secrets.GHA_SECRET_OUTPUT_PASSPHRASE }}
104+
github-private-actions-pat: ${{ secrets.PUBLIC_REPO_ACCESS_TOKEN }}
105+
spacelift-api-key-id: ${{ secrets.SPACELIFT_API_KEY_ID }}
106+
spacelift-api-key-secret: ${{ secrets.SPACELIFT_API_KEY_SECRET }}

0 commit comments

Comments
 (0)