-
Notifications
You must be signed in to change notification settings - Fork 8
139 lines (137 loc) Β· 4.78 KB
/
DEV-studio-v3.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
name: DEV - Build & deploy studio v3
on:
workflow_dispatch:
push:
branches:
- staging
paths:
- 'sanityv3/**/*'
- './FeatureFlags.js'
- '!./README.md'
- '!./.env.development.template'
- '!./sanityv3/scripts/**/*'
permissions:
id-token: write
packages: write
jobs:
check-code:
runs-on: ubuntu-latest
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
- name: Checkout ποΈ
uses: actions/checkout@v3
with:
ref: staging
- name: Install pnpm π¦
id: install-pnpm
uses: pnpm/action-setup@v4
with:
version: '8.5.1'
- name: Cache pnpm modules πΎ
uses: actions/setup-node@v3
with:
node-version: 18
cache: 'pnpm'
- name: Install dependencies π§
id: install-dependencies
run: |
pnpm install
pnpm sanityv3 install
- name: Run ESLint π
id: lint
run: |
pnpm lint:sanityv3
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
if: failure()
update-radix-config:
needs: check-code
runs-on: ubuntu-latest
environment:
name: development
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
steps:
- name: Checkout ποΈ
uses: actions/checkout@v3
with:
ref: staging
- name: Set image tag π·
shell: bash
id: set-default-image-tag
run: |
echo "IMAGE_TAG_SHA=$(git rev-parse --short=12 ${GITHUB_SHA})" >> $GITHUB_ENV
- name: Checkout internal ποΈ
id: checkout-internal
uses: actions/checkout@v3
with:
repository: 'equinor/energyvision-internal'
ref: main
token: ${{ secrets.PADMS_PAT }} # Replace with ssh as per https://stackoverflow.com/questions/60222741/github-actions-and-git-clone-issue
- name: Modify radixconfig tag for DEV on staging branch ποΈ
if: github.ref == 'refs/heads/staging'
shell: bash
id: modify-radix
run: |
# Install pre-requisite
python3 -m venv venv
source venv/bin/activate
python -m pip install ruamel.yaml
python ci/upgradeEnvironment.py studio ${{ env.IMAGE_TAG_SHA }} ${{ secrets.ENV }}
git config --global user.name 'github'
git config --global user.email '[email protected]'
git remote set-url origin https://x-access-token:${{ secrets.PADMS_PAT }}@github.com/equinor/energyvision-internal
if [[ `git status --porcelain` ]]
then
git commit -am "π Deploy studio to dev for tag ${{ env.IMAGE_TAG_SHA }}"
git pull --rebase origin main
git push origin HEAD:main
fi
- uses: act10ns/slack@v2
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
if: failure()
deploy-studio:
needs: update-radix-config
runs-on: ubuntu-latest
environment:
name: development
url: https://studiov3-global-development-energyvision-dev.radix.equinor.com/
strategy:
matrix:
dataset: [global-development]
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
DOCKER_BUILDKIT: 1
steps:
- name: Checkout ποΈ
uses: actions/checkout@v3
- id: deploy-satellite
uses: ./.github/workflows/deploy-v3/
with:
imageName: ghcr.io/equinor/energyvision/studiov3-${{ matrix.dataset }}
datasetName: ${{ matrix.dataset }}
githubToken: ${{ secrets.GITHUB_TOKEN }}
sanityApiToken: ${{ secrets.SANITY_API_TOKEN }}
sanityHistoryApiToken: ${{ secrets.SANITY_STUDIO_HISTORY_API_TOKEN }}
sanityPreviewToken: ${{ secrets.SANITY_STUDIO_PREVIEW_SECRET }}
brandmasterUrl: ${{ secrets.SANITY_STUDIO_BRANDMASTER_URL }}
brandmasterPluginSource: ${{ secrets.SANITY_STUDIO_BRANDMASTER_PLUGIN_SOURCE }}
fotowareClientId: ${{ secrets.SANITY_STUDIO_FOTOWARE_CLIENT_ID }}
fotowareTenantUrl: ${{ secrets.SANITY_STUDIO_FOTOWARE_TENANT_URL }}
fotowareRedirectOrigin: ${{ secrets.SANITY_STUDIO_FOTOWARE_REDIRECT_ORIGIN }}
fotowareAfExportUrl: ${{ secrets.SANITY_STUDIO_FOTOWARE_AF_EXPORT_URL }}
fotowareAfExportKey: ${{ secrets.SANITY_STUDIO_FOTOWARE_AF_EXPORT_KEY }}
screen9accountId: ${{ secrets.SANITY_STUDIO_SCREEN9_ACCOUNT_ID }}
screen9token: ${{ secrets.SANITY_STUDIO_SCREEN9_TOKEN }}
deployToBothClusters: true
environment: ${{ secrets.ENV }}
- uses: act10ns/slack@v1
with:
status: ${{ job.status }}
steps: ${{ toJson(steps) }}
if: failure()