Skip to content

Commit 51964a3

Browse files
Merge branch 'main' into ELI-557-enhance-validation-rules
2 parents db82a6a + 453a998 commit 51964a3

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1768
-550
lines changed

.github/workflows/base-deploy.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
promoted_environment: ${{ steps.promoted_env.outputs.promoted_environment }}
3737
steps:
3838
- name: "Checkout ref"
39-
uses: actions/checkout@v5
39+
uses: actions/checkout@v6
4040
with:
4141
ref: ${{ inputs.ref }}
4242
fetch-depth: 0 # get full history + tags
@@ -114,7 +114,7 @@ jobs:
114114
environment: ${{ needs.metadata.outputs.promoted_environment }}
115115
steps:
116116
- name: "Checkout repository at ref"
117-
uses: actions/checkout@v5
117+
uses: actions/checkout@v6
118118
with:
119119
ref: ${{ needs.metadata.outputs.ref }}
120120
fetch-depth: 0
@@ -171,7 +171,7 @@ jobs:
171171
environment: ${{ needs.metadata.outputs.environment }}
172172
steps:
173173
- name: "Checkout repository at ref"
174-
uses: actions/checkout@v5
174+
uses: actions/checkout@v6
175175
with:
176176
ref: ${{ needs.metadata.outputs.ref }}
177177
fetch-depth: 0

.github/workflows/cicd-1-pull-request.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
does_pull_request_exist: ${{ steps.pr_exists.outputs.does_pull_request_exist }}
2525
steps:
2626
- name: "Checkout code"
27-
uses: actions/checkout@v5
27+
uses: actions/checkout@v6
2828
- name: "Set CI/CD variables"
2929
id: variables
3030
run: |

.github/workflows/cicd-2-publish.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
version: ${{ steps.variables.outputs.version }}
3131
steps:
3232
- name: "Checkout code"
33-
uses: actions/checkout@v5
33+
uses: actions/checkout@v6
3434
with:
3535
ref: ${{ github.ref_name }}
3636

@@ -72,7 +72,7 @@ jobs:
7272
python-version: '3.13'
7373

7474
- name: "Checkout Repository"
75-
uses: actions/checkout@v5
75+
uses: actions/checkout@v6
7676
with:
7777
ref: ${{ github.ref_name }}
7878

.github/workflows/cicd-3-test-deploy.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
tag: ${{ steps.tag.outputs.name }}
2525
steps:
2626
- name: "Checkout exact commit from CI/CD publish"
27-
uses: actions/checkout@v5
27+
uses: actions/checkout@v6
2828
with:
2929
ref: ${{ github.event.workflow_run.head_sha }}
3030

@@ -57,7 +57,7 @@ jobs:
5757
contents: read
5858
steps:
5959
- name: "Checkout same commit"
60-
uses: actions/checkout@v5
60+
uses: actions/checkout@v6
6161
with:
6262
ref: ${{ github.event.workflow_run.head_sha }}
6363

.github/workflows/cicd-4-preprod-deploy.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ jobs:
4444

4545
steps:
4646
- name: Checkout (full history & tags)
47-
uses: actions/checkout@v5
47+
uses: actions/checkout@v6
4848
with: { fetch-depth: 0 }
4949

5050
- name: Force HTTPS remote for act
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Monthly Demand and Capacity Report
2+
3+
on:
4+
# Run monthly on the 1st at 9 AM UTC
5+
schedule:
6+
- cron: "0 9 1 * *"
7+
8+
# Allow manual trigger
9+
workflow_dispatch:
10+
11+
permissions:
12+
contents: read
13+
id-token: write # Required for AWS OIDC authentication
14+
15+
jobs:
16+
generate-report:
17+
runs-on: ubuntu-latest
18+
environment: prod
19+
20+
steps:
21+
- name: Checkout code
22+
uses: actions/checkout@v6
23+
24+
- name: Set up Python
25+
uses: actions/setup-python@v6
26+
with:
27+
python-version: "3.11"
28+
29+
- name: "Configure AWS Credentials"
30+
uses: aws-actions/configure-aws-credentials@v5
31+
with:
32+
role-to-assume: arn:aws:iam::${{ secrets.AWS_ACCOUNT_ID }}:role/service-roles/github-actions-api-deployment-role
33+
aws-region: eu-west-2
34+
35+
- name: Generate dashboard report
36+
run: |
37+
chmod +x scripts/export_dashboard_image.sh
38+
./scripts/export_dashboard_image.sh Demand_And_Capacity_Prod
39+
env:
40+
AWS_REGION: eu-west-2
41+
42+
- name: Upload report as artifact
43+
uses: actions/upload-artifact@v5
44+
with:
45+
name: capacity-report
46+
path: |
47+
dashboard_exports/*.html
48+
dashboard_exports/*.png
49+
retention-days: 90
50+
51+
- name: Send to Slack
52+
if: success()
53+
env:
54+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_D_AND_C_WEBHOOK }}
55+
run: |
56+
# Get the latest HTML report
57+
REPORT_FILE=$(ls -t dashboard_exports/dashboard_report_*.html | head -1)
58+
REPORT_NAME=$(basename "$REPORT_FILE")
59+
60+
# GitHub Actions URL
61+
GITHUB_URL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
62+
63+
# Send Slack notification with simple variables for Workflow Automation
64+
curl -X POST "$SLACK_WEBHOOK_URL" \
65+
-H 'Content-Type: application/json' \
66+
-d @- <<EOF
67+
{
68+
"report_title": "📊 Monthly Demand & Capacity Report - EliD - Prod",
69+
"report_period": "Last 8 weeks",
70+
"generated_date": "$(date +'%Y-%m-%d %H:%M UTC')",
71+
"widgets_count": "7",
72+
"github_url": "$GITHUB_URL",
73+
"report_name": "$REPORT_NAME"
74+
}
75+
EOF

.github/workflows/regression-tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@ jobs:
1616
runs-on: ubuntu-22.04
1717
steps:
1818
- name: Checkout
19-
uses: actions/checkout@v5
19+
uses: actions/checkout@v6
2020
with:
2121
fetch-depth: 0
2222

2323
- name: Cache asdf
24-
uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830
24+
uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb
2525
with:
2626
path: |
2727
~/.asdf
@@ -42,7 +42,7 @@ jobs:
4242
echo "PYTHON_VERSION=$PYTHON_VERSION" >> $GITHUB_ENV
4343
4444
- name: setup python venv
45-
uses: actions/checkout@v5
45+
uses: actions/checkout@v6
4646
- uses: actions/setup-python@v6
4747
with:
4848
python-version: '${{ env.PYTHON_VERSION }}'

.github/workflows/sonarcube-scan-main-branch.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
timeout-minutes: 5
2020
steps:
2121
- name: "Checkout code"
22-
uses: actions/checkout@v5
22+
uses: actions/checkout@v6
2323
- name: "Set up Python"
2424
uses: actions/setup-python@v6
2525
with:
@@ -37,7 +37,7 @@ jobs:
3737
runs-on: ubuntu-latest
3838
steps:
3939
- name: Checkout (full history)
40-
uses: actions/checkout@v5
40+
uses: actions/checkout@v6
4141
with:
4242
fetch-depth: 0
4343
- name: "Get the coverage report"

.github/workflows/stage-1-commit.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
timeout-minutes: 2
4040
steps:
4141
- name: "Checkout code"
42-
uses: actions/checkout@v5
42+
uses: actions/checkout@v6
4343
with:
4444
fetch-depth: 0 # Full history is needed to scan all commits
4545
- name: "Scan secrets"
@@ -50,7 +50,7 @@ jobs:
5050
timeout-minutes: 2
5151
steps:
5252
- name: "Checkout code"
53-
uses: actions/checkout@v5
53+
uses: actions/checkout@v6
5454
with:
5555
fetch-depth: 0 # Full history is needed to compare branches
5656
- name: "Check file format"
@@ -61,7 +61,7 @@ jobs:
6161
timeout-minutes: 2
6262
steps:
6363
- name: "Checkout code"
64-
uses: actions/checkout@v5
64+
uses: actions/checkout@v6
6565
with:
6666
fetch-depth: 0 # Full history is needed to compare branches
6767
- name: "Check Markdown format"
@@ -72,7 +72,7 @@ jobs:
7272
timeout-minutes: 2
7373
steps:
7474
- name: "Checkout code"
75-
uses: actions/checkout@v5
75+
uses: actions/checkout@v6
7676
with:
7777
fetch-depth: 0 # Full history is needed to compare branches
7878
- name: "Check English usage"
@@ -83,7 +83,7 @@ jobs:
8383
timeout-minutes: 2
8484
steps:
8585
- name: "Checkout code"
86-
uses: actions/checkout@v5
86+
uses: actions/checkout@v6
8787
- name: "Lint Terraform"
8888
uses: ./.github/actions/lint-terraform
8989
checkov-terraform:
@@ -95,7 +95,7 @@ jobs:
9595
timeout-minutes: 3
9696
steps:
9797
- name: "Checkout code"
98-
uses: actions/checkout@v5
98+
uses: actions/checkout@v6
9999
- name: "Run Checkov"
100100
uses: bridgecrewio/checkov-action@v12
101101
with:
@@ -116,7 +116,7 @@ jobs:
116116
timeout-minutes: 2
117117
steps:
118118
- name: "Checkout code"
119-
uses: actions/checkout@v5
119+
uses: actions/checkout@v6
120120
- name: "Count lines of code"
121121
uses: ./.github/actions/create-lines-of-code-report
122122
with:
@@ -135,7 +135,7 @@ jobs:
135135
timeout-minutes: 2
136136
steps:
137137
- name: "Checkout code"
138-
uses: actions/checkout@v5
138+
uses: actions/checkout@v6
139139
- name: "Scan dependencies"
140140
uses: ./.github/actions/scan-dependencies
141141
with:
@@ -154,6 +154,6 @@ jobs:
154154
timeout-minutes: 5
155155
steps:
156156
- name: "Checkout code"
157-
uses: actions/checkout@v5
157+
uses: actions/checkout@v6
158158
- name: "Run OWASP Dependency Scan"
159159
uses: ./.github/actions/owasp-dependency-scan

.github/workflows/stage-2-test.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
timeout-minutes: 5
4040
steps:
4141
- name: "Checkout code"
42-
uses: actions/checkout@v5
42+
uses: actions/checkout@v6
4343
- name: "Set up Python"
4444
uses: actions/setup-python@v6
4545
with:
@@ -58,7 +58,7 @@ jobs:
5858
timeout-minutes: 5
5959
steps:
6060
- name: "Checkout code"
61-
uses: actions/checkout@v5
61+
uses: actions/checkout@v6
6262
- name: "Set up Python"
6363
uses: actions/setup-python@v6
6464
with:
@@ -79,7 +79,7 @@ jobs:
7979
timeout-minutes: 5
8080
steps:
8181
- name: "Checkout code"
82-
uses: actions/checkout@v5
82+
uses: actions/checkout@v6
8383
with:
8484
fetch-depth: 0 # Full history is needed to improving relevancy of reporting
8585
- name: "Get the coverage report"

0 commit comments

Comments
 (0)