Skip to content

Commit 9964c70

Browse files
authored
Create hifi website mockup (#2)
1 parent 4b58886 commit 9964c70

Some content is hidden

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

54 files changed

+11375
-236
lines changed

.github/dependabot.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: 2
22
updates:
33
- package-ecosystem: pip
4-
directory: /
4+
directory: /packages/backup
55
schedule:
66
interval: monthly
77
groups:
@@ -20,7 +20,7 @@ updates:
2020
ci-dependencies:
2121
dependency-type: "production"
2222
- package-ecosystem: npm
23-
directory: /
23+
directory: /packages/restore
2424
schedule:
2525
interval: monthly
2626
groups:
+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: 🐍 Pull request events
2+
3+
on:
4+
pull_request:
5+
paths:
6+
- "packages/backup/**"
7+
- ".github/workflows/push.python.yml"
8+
9+
concurrency:
10+
group: "${{ github.head_ref || github.ref }}"
11+
cancel-in-progress: true
12+
13+
jobs:
14+
test:
15+
name: Setup and Test
16+
runs-on: ubuntu-latest
17+
18+
steps:
19+
20+
- name: Checkout code
21+
uses: actions/checkout@v4
22+
with:
23+
show-progress: false
24+
25+
- name: Set up Python
26+
uses: actions/setup-python@v5
27+
with:
28+
python-version: "3.11"
29+
cache: pip
30+
cache-dependency-path: setup.py
31+
32+
- name: Install libkrb5 for Kerberos on Linux
33+
run: |
34+
sudo apt-get update
35+
sudo apt-get install -y libkrb5-dev
36+
37+
- name: Install module
38+
run: pip install .[tests]
39+
40+
- name: Test with pytest
41+
run: pytest

.github/workflows/push.yml

+27-234
Original file line numberDiff line numberDiff line change
@@ -1,255 +1,48 @@
1-
name: Build and Test
1+
name: Push Events
22

33
on:
44
push:
55
branches:
6-
- main
76
- dev
8-
pull_request:
9-
branches:
107
- main
11-
- dev
128

139
concurrency:
14-
group: "${{ github.head_ref || github.ref }}"
10+
group: ${{ github.workflow }}-${{ github.ref }}
1511
cancel-in-progress: true
1612

1713
jobs:
18-
test:
19-
name: Setup and Test
20-
runs-on: ubuntu-latest
21-
22-
steps:
23-
24-
- name: Checkout code
25-
uses: actions/checkout@v4
26-
with:
27-
show-progress: false
28-
29-
- name: Set up Python
30-
uses: actions/setup-python@v5
31-
with:
32-
python-version: "3.11"
33-
cache: pip
34-
cache-dependency-path: setup.py
35-
36-
- name: Install libkrb5 for Kerberos on Linux
37-
run: |
38-
sudo apt-get update
39-
sudo apt-get install -y libkrb5-dev
40-
41-
- name: Install module
42-
run: pip install .[tests]
43-
44-
- name: Test with pytest
45-
run: pytest
46-
47-
deploy-dev:
48-
name: Deploy to Cloud Run (dev)
49-
needs: test
14+
release-please:
15+
name: Create release
5016
runs-on: ubuntu-latest
51-
if: github.ref == 'refs/heads/dev'
52-
environment:
53-
name: dev
5417
permissions:
55-
id-token: write
56-
contents: read
18+
contents: write
19+
pull-requests: write
20+
if: github.ref_name == 'main'
5721

5822
steps:
59-
- name: ⬇️ Checkout code
60-
uses: actions/checkout@v4
61-
with:
62-
show-progress: false
63-
64-
- name: 🗝️ Authenticate to Google Cloud
65-
id: auth
66-
uses: google-github-actions/auth@v2
67-
with:
68-
workload_identity_provider: ${{ secrets.IDENTITY_PROVIDER }}
69-
service_account: ${{ secrets.SERVICE_ACCOUNT_EMAIL }}
70-
token_format: "access_token"
71-
72-
- name: 🐳 Set up Docker Buildx
73-
id: builder
74-
uses: docker/setup-buildx-action@v3
75-
76-
- name: 🗝️ Authenticate Docker to Google Cloud
77-
uses: docker/login-action@v3
78-
with:
79-
registry: us-central1-docker.pkg.dev
80-
username: oauth2accesstoken
81-
password: ${{ steps.auth.outputs.access_token }}
82-
83-
- name: 🏷️ Extract tags from GitHub
84-
id: meta
85-
uses: docker/metadata-action@v5
86-
with:
87-
github-token: ${{ secrets.GITHUB_TOKEN }}
88-
images: us-central1-docker.pkg.dev/${{ secrets.PROJECT_ID }}/images/job
89-
tags: |
90-
type=ref,suffix=-{{sha}},event=branch
91-
type=ref,prefix=pr-,suffix=-{{sha}},event=pr
92-
type=semver,pattern={{version}}
93-
latest
94-
95-
- name: 📦 Build and push image
96-
uses: docker/build-push-action@v6
97-
with:
98-
builder: ${{ steps.builder.outputs.name }}
99-
tags: ${{ steps.meta.outputs.tags }}
100-
context: .
101-
file: ./Dockerfile
102-
push: true
103-
cache-from: type=gha
104-
cache-to: type=gha,mode=max
105-
provenance: false
106-
107-
- name: ☁️ Set up Cloud SDK
108-
uses: google-github-actions/setup-gcloud@v2
109-
110-
- name: 🚀 Deploy to Cloud Run Job
111-
uses: google-github-actions/deploy-cloudrun@v2
23+
- name: 🚀 Create Release
24+
id: release-please
25+
uses: agrc/release-composite-action@v1
11226
with:
113-
project_id: secrets.PROJECT_ID
114-
region: us-central1
115-
image: us-central1-docker.pkg.dev/${{ secrets.PROJECT_ID }}/images/job:latest
116-
job: default
117-
secrets: /secrets/app/secrets.json=skid-secrets:latest
118-
timeout: 3h
119-
flags: >
120-
'--cpu=1
121-
--memory=3Gi
122-
--service-account=cloud-run-sa@${{ secrets.PROJECT_ID }}.iam.gserviceaccount.com
123-
--timeout=3h
124-
--max-instances=1
125-
--max-retries=0
126-
--parallelism=0'
27+
github-app-id: ${{ secrets.UGRC_RELEASE_BOT_APP_ID }}
28+
github-app-key: ${{ secrets.UGRC_RELEASE_BOT_APP_KEY }}
29+
github-app-name: ${{ secrets.UGRC_RELEASE_BOT_NAME }}
30+
github-app-email: ${{ secrets.UGRC_RELEASE_BOT_EMAIL }}
12731

128-
- name: 🕰️ Create Cloud Scheduler
129-
run: |
130-
if [ ! "$(gcloud scheduler jobs list --location=us-central1 | grep saturday-evening)" ]; then
131-
gcloud scheduler jobs create http saturday-evening \
132-
--description="Trigger the nfhl-skid bot once a week on saturday evening" \
133-
--schedule="0 3 * * 6" \
134-
--time-zone=America/Denver \
135-
--location=us-central1 \
136-
--uri="https://us-central1-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${{ secrets.PROJECT_ID }}/jobs/default:run" \
137-
--oauth-service-account-email=scheduler-sa@${{ secrets.PROJECT_ID }}.iam.gserviceaccount.com
138-
else
139-
gcloud scheduler jobs update http saturday-evening \
140-
--description="Trigger the nfhl-skid bot once a week on saturday evening" \
141-
--schedule="0 3 * * 6" \
142-
--time-zone=America/Denver \
143-
--location=us-central1 \
144-
--uri="https://us-central1-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${{ secrets.PROJECT_ID }}/jobs/default:run" \
145-
--oauth-service-account-email=scheduler-sa@${{ secrets.PROJECT_ID }}.iam.gserviceaccount.com
146-
fi
147-
148-
deploy-prod:
149-
name: Deploy to Cloud Run (prod)
150-
needs: test
32+
deploy-ui-dev:
33+
name: Deploy UI to staging
15134
runs-on: ubuntu-latest
152-
if: github.ref == 'refs/heads/main'
15335
environment:
154-
name: prod
155-
permissions:
156-
id-token: write
157-
contents: read
36+
name: dev
37+
url: https://ut-dts-agrc-moonwalk-dev.web.app/
15838

15939
steps:
160-
- name: ⬇️ Checkout code
161-
uses: actions/checkout@v4
162-
with:
163-
show-progress: false
164-
165-
- name: 🗝️ Authenticate to Google Cloud
166-
id: auth
167-
uses: google-github-actions/auth@v2
168-
with:
169-
workload_identity_provider: ${{ secrets.IDENTITY_PROVIDER }}
170-
service_account: ${{ secrets.SERVICE_ACCOUNT_EMAIL }}
171-
token_format: "access_token"
172-
173-
- name: 🐳 Set up Docker Buildx
174-
id: builder
175-
uses: docker/setup-buildx-action@v3
176-
177-
- name: 🗝️ Authenticate Docker to Google Cloud
178-
uses: docker/login-action@v3
179-
with:
180-
registry: us-central1-docker.pkg.dev
181-
username: oauth2accesstoken
182-
password: ${{ steps.auth.outputs.access_token }}
183-
184-
- name: 🏷️ Extract tags from GitHub
185-
id: meta
186-
uses: docker/metadata-action@v5
187-
with:
188-
github-token: ${{ secrets.GITHUB_TOKEN }}
189-
images: us-central1-docker.pkg.dev/${{ secrets.PROJECT_ID }}/images/job
190-
tags: |
191-
type=ref,suffix=-{{sha}},event=branch
192-
type=ref,prefix=pr-,suffix=-{{sha}},event=pr
193-
type=semver,pattern={{version}}
194-
latest
195-
196-
- name: 📦 Build and push image
197-
uses: docker/build-push-action@v6
198-
with:
199-
builder: ${{ steps.builder.outputs.name }}
200-
tags: ${{ steps.meta.outputs.tags }}
201-
context: .
202-
file: ./Dockerfile
203-
push: true
204-
cache-from: type=gha
205-
cache-to: type=gha,mode=max
206-
provenance: false
207-
208-
- name: ☁️ Set up Cloud SDK
209-
uses: google-github-actions/setup-gcloud@v2
210-
211-
- name: 🚀 Deploy to Cloud Run Job
212-
run: |
213-
if [ ! "$(gcloud run jobs list | grep default)" ]; then
214-
gcloud run jobs create default \
215-
--region us-central1 \
216-
--image us-central1-docker.pkg.dev/${{ secrets.PROJECT_ID }}/images/job:latest \
217-
--service-account cloud-run-sa@${{ secrets.PROJECT_ID }}.iam.gserviceaccount.com \
218-
--memory=3Gi \
219-
--cpu=1 \
220-
--max-retries 0 \
221-
--parallelism 0 \
222-
--set-secrets=/secrets/app/secrets.json=skid-secrets:latest \
223-
--task-timeout 3h
224-
else
225-
gcloud run jobs update default \
226-
--region us-central1 \
227-
--image us-central1-docker.pkg.dev/${{ secrets.PROJECT_ID }}/images/job:latest \
228-
--service-account cloud-run-sa@${{ secrets.PROJECT_ID }}.iam.gserviceaccount.com \
229-
--memory=3Gi \
230-
--cpu=1 \
231-
--max-retries 0 \
232-
--parallelism 0 \
233-
--set-secrets=/secrets/app/secrets.json=skid-secrets:latest \
234-
--task-timeout 3h
235-
fi
236-
237-
- name: 🕰️ Create Cloud Scheduler
238-
run: |
239-
if [ ! "$(gcloud scheduler jobs list --location=us-central1 | grep saturday-evening)" ]; then
240-
gcloud scheduler jobs create http saturday-evening \
241-
--description="Trigger the nfhl-skid bot once a week on saturday evening" \
242-
--schedule="0 3 * * 6" \
243-
--time-zone=America/Denver \
244-
--location=us-central1 \
245-
--uri="https://us-central1-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${{ secrets.PROJECT_ID }}/jobs/default:run" \
246-
--oauth-service-account-email=scheduler-sa@${{ secrets.PROJECT_ID }}.iam.gserviceaccount.com
247-
else
248-
gcloud scheduler jobs update http saturday-evening \
249-
--description="Trigger the nfhl-skid bot once a week on saturday evening" \
250-
--schedule="0 3 * * 6" \
251-
--time-zone=America/Denver \
252-
--location=us-central1 \
253-
--uri="https://us-central1-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/${{ secrets.PROJECT_ID }}/jobs/default:run" \
254-
--oauth-service-account-email=scheduler-sa@${{ secrets.PROJECT_ID }}.iam.gserviceaccount.com
255-
fi
40+
- name: 🚀 Deploy
41+
uses: agrc/firebase-website-deploy-composite-action@v1
42+
with:
43+
identity-provider: ${{ secrets.IDENTITY_PROVIDER }}
44+
service-account-email: ${{ secrets.SERVICE_ACCOUNT_EMAIL }}
45+
project-id: ${{ secrets.PROJECT_ID }}
46+
build-command: npm run build -- --mode dev
47+
env:
48+
VITE_FIREBASE_CONFIG: ${{ secrets.FIREBASE_CONFIG }}

0 commit comments

Comments
 (0)