-
Notifications
You must be signed in to change notification settings - Fork 12.1k
91 lines (81 loc) · 2.57 KB
/
orchestrator.yml
File metadata and controls
91 lines (81 loc) · 2.57 KB
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
# .github/workflows/pr-checks.yml
name: 'Checks'
on:
pull_request:
branches:
- 'main'
- 'release/**'
merge_group:
concurrency:
group: '${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}'
cancel-in-progress: true
env:
CLI_PACKAGE_NAME: '@google/gemini-cli'
permissions:
contents: 'read'
packages: 'write'
pull-requests: 'write'
security-events: 'write'
checks: 'write'
statuses: 'write'
actions: 'read'
attestations: 'read'
deployments: 'read'
discussions: 'read'
issues: 'read'
pages: 'read'
repository-projects: 'read'
id-token: 'write'
jobs:
lint:
name: 'Lint'
uses: './.github/workflows/lint.yml'
get-vars:
name: 'Get Environment Variables'
runs-on: 'ubuntu-latest'
environment: 'dev'
outputs:
cli-package-name: '${{ steps.get-vars.outputs.cli-package-name }}'
npm-registry-scope: '${{ steps.get-vars.outputs.npm-registry-scope }}'
npm-registry-url: '${{ steps.get-vars.outputs.npm-registry-url }}'
steps:
- id: 'get-vars'
env:
CLI_PACKAGE_NAME: '${{ vars.CLI_PACKAGE_NAME }}'
NPM_REGISTRY_SCOPE: '${{ vars.NPM_REGISTRY_SCOPE }}'
NPM_REGISTRY_URL: '${{ vars.NPM_REGISTRY_URL }}'
run: |
echo "cli-package-name=${CLI_PACKAGE_NAME}" >> "$GITHUB_OUTPUT"
echo "npm-registry-scope=${NPM_REGISTRY_SCOPE}" >> "$GITHUB_OUTPUT"
echo "npm-registry-url=${NPM_REGISTRY_URL}" >> "$GITHUB_OUTPUT"
build-and-publish:
name: 'Build and Publish CI Bundle'
needs: ['lint', 'get-vars']
uses: './.github/workflows/build-and-publish.yml'
with:
cli-package-name: '${{ needs.get-vars.outputs.cli-package-name }}'
npm-registry-scope: '${{ needs.get-vars.outputs.npm-registry-scope }}'
npm-registry-url: '${{ needs.get-vars.outputs.npm-registry-url }}'
ci:
name: 'CI Checks'
needs: 'lint'
uses: './.github/workflows/ci.yml'
e2e:
name: 'E2E Checks'
needs: ['build-and-publish', 'get-vars']
uses: './.github/workflows/e2e.yml'
permissions:
contents: 'read'
packages: 'read'
with:
version: '${{ needs.build-and-publish.outputs.version }}'
cli-package-name: '${{ needs.get-vars.outputs.cli-package-name }}'
image-uri: '${{ needs.build-and-publish.outputs.image-uri }}'
secrets:
GEMINI_API_KEY: '${{ secrets.GEMINI_API_KEY }}'
bundle-size:
name: 'Bundle Size Check'
needs: 'build-and-publish'
uses: './.github/workflows/bundle-size.yml'
with:
version: '${{ needs.build-and-publish.outputs.version }}'