Skip to content

Commit 85cba14

Browse files
authored
Merge branch 'main' into feature/eja-adding-mock-auth-script
2 parents b8e1735 + d689f4e commit 85cba14

33 files changed

Lines changed: 1067 additions & 3500 deletions

.github/DEPLOYMENT_README.md

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# GitHub Workflows for eligibility-signposting-api-specification
2+
3+
This directory contains GitHub Actions workflows that automate CI/CD processes for the eligibility-signposting-api-specification project. These workflows manage deployment, tagging, and notifications for different environments (dev, sandbox, preprod, prod) and integrate with external tools like proxygen and Postman.
4+
5+
## Workflows Overview
6+
7+
### 1. dev_sandbox_publish_deploy.yaml
8+
9+
- **Triggers:** On push to `main` branch.
10+
- **Environments:** dev, sandbox.
11+
- **Steps:**
12+
- Sets a version tag based on the current timestamp.
13+
- Installs dependencies (Python, Node.js, Poetry, proxygen-cli).
14+
- Generates and publishes OpenAPI specs to proxygen for dev and sandbox.
15+
- Publishes the Postman collection to Postman.
16+
- Tags the deployment in Git (Example tag: spec-20260122155331).
17+
- Notifies a Slack channel on completion.
18+
19+
### 2. preprod_publish_deploy.yaml
20+
21+
- **Triggers:** Manually via GitHub UI (`workflow_dispatch`).
22+
- **Inputs:** Tag to promote (defaults to latest).
23+
- **Environment:** preprod.
24+
- **Steps:**
25+
- Checks out the specified tag.
26+
- Installs dependencies.
27+
- Generates and publishes the OpenAPI spec to proxygen for preprod.
28+
- Deploys the spec to the preprod proxygen instance.
29+
30+
### 3. prod_publish_deploy.yaml
31+
32+
- **Triggers:** Manually via GitHub UI (`workflow_dispatch`).
33+
- **Inputs:** Tag to promote (required).
34+
- **Environment:** Prod.
35+
- **Steps:**
36+
- Checks out the specified tag.
37+
- Installs dependencies.
38+
- Generates and publishes the OpenAPI spec to proxygen for Prod.
39+
- Deploys the spec to the Prod proxygen instance.
40+
- Creates a GitHub Release for the deployed tag.
41+
42+
## How to Use
43+
44+
### dev & sandbox deployment
45+
46+
- Push changes to the `main` branch.
47+
- The workflow will automatically:
48+
- Deploy to dev and sandbox.
49+
- Publish the Postman collection.
50+
- Tag the deployment.
51+
- Notify Slack.
52+
53+
### preprod deployment
54+
55+
- Go to the **Actions** tab in GitHub.
56+
- Select **Deploy to preprod** workflow.
57+
- Click **Run workflow**.
58+
- Enter the tag to promote (or use the default `latest`).
59+
- The workflow will deploy the specified tag to preprod.
60+
61+
### prod deployment
62+
63+
- Go to the **Actions** tab in GitHub.
64+
- Select **Deploy to Prod** workflow.
65+
- Click **Run workflow**.
66+
- Enter the tag to promote (must match a tag from previous deployments).
67+
- The workflow will deploy the specified tag to Prod and create a GitHub Release.
68+
69+
## Notes
70+
71+
- All workflows require secrets to be set in the repository (e.g., `PROXYGEN_PRIVATE_KEY`, `POSTMAN_API_KEY`, `SLACK_WORKFLOW_WEBHOOK_URL`, `GITHUB_TOKEN`).
72+
- The tags created follow the format `spec-YYYYMMDDHHMMSS` indicative of the deployment time. This is NOT related to the [specification/eligibility-signposting-api](../specification/eligibility-signposting-api.yaml) version.
73+
- For more details, see the steps in each workflow YAML file.

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

Lines changed: 0 additions & 95 deletions
This file was deleted.

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

Lines changed: 0 additions & 74 deletions
This file was deleted.

0 commit comments

Comments
 (0)