-
Notifications
You must be signed in to change notification settings - Fork 1
118 lines (111 loc) · 4.19 KB
/
ci.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
name: CI
on:
pull_request:
# merge_group:
push:
branches:
- staging
- trying
- '!release-please--branches--**'
#concurrency:
# group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
# cancel-in-progress: true
jobs:
# changed_files:
# runs-on: ubuntu-latest
# name: Get changed files
# outputs:
# core: ${{ steps.changed-files.outputs.core_any_changed }}
# prover: ${{ steps.changed-files.outputs.prover_any_changed }}
# zk_toolbox: ${{ steps.changed-files.outputs.zk_toolbox_any_changed }}
# docs: ${{ steps.changed-files.outputs.docs_any_changed }}
# all: ${{ steps.changed-files.outputs.all_any_changed }}
# steps:
# - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
# with:
# fetch-depth: 2
# submodules: "recursive"
#
# - name: Get changed files
# id: changed-files
# uses: tj-actions/changed-files@v39
# with:
# files_yaml: |
# prover:
# - 'prover/**'
# - '!prover/CHANGELOG.md'
# - '!prover/setup-data-cpu-keys.json'
# - '!prover/setup-data-gpu-keys.json'
# - '!prover/extract-setup-data-keys.sh'
# - 'docker/prover*/**'
# - '.github/workflows/build-prover-template.yml'
# - '.github/workflows/ci-prover-reusable.yml'
# - 'docker-compose-runner-nightly.yml'
# - '!**/*.md'
# - '!**/*.MD'
# core:
# - 'core/**'
# - '!core/CHANGELOG.md'
# - 'docker/contract-verifier/**'
# - 'docker/external-node/**'
# - 'docker/server/**'
# - '.github/workflows/build-core-template.yml'
# - '.github/workflows/build-contract-verifier-template.yml'
# - '.github/workflows/ci-core-reusable.yml'
# - '.github/workflows/ci-core-lint-reusable.yml'
# - 'Cargo.toml'
# - 'Cargo.lock'
# - '!**/*.md'
# - '!**/*.MD'
# - 'docker-compose.yml'
# zk_toolbox:
# - 'zk_toolbox/**'
# - '!**/*.md'
# - '!**/*.MD'
# docs:
# - '**/*.md'
# - '**/*.MD'
# - '.github/workflows/ci-docs-reusable.yml'
# all:
# - '.github/workflows/ci.yml'
# - 'bin/**'
# - 'etc/**'
# - 'contracts/**'
# - 'infrastructure/zk/**'
# - '!**/*.md'
# - '!**/*.MD'
# ci-for-core-lint:
# name: CI for Core lint Components
# needs: changed_files
# if: contains(github.ref_name, 'release-please--branches')
# uses: ./.github/workflows/ci-core-lint-reusable.yml
ci-for-core:
name: CI for Core Components
needs: changed_files
# if: ${{ (needs.changed_files.outputs.core == 'true' || needs.changed_files.outputs.all == 'true') && !contains(github.ref_name, 'release-please--branches') }}
uses: ./.github/workflows/ci-core-reusable.yml
# build-core-images:
# name: Build core images
# needs: changed_files
# if: ${{ (needs.changed_files.outputs.core == 'true' || needs.changed_files.outputs.all == 'true') && !contains(github.ref_name, 'release-please--branches') }}
# uses: ./.github/workflows/build-core-template.yml
# with:
# image_tag_suffix: ${{ needs.setup.outputs.image_tag_suffix }}
# action: "build"
# secrets:
# DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
# DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
ci-success:
name: Github Status Check
runs-on: ubuntu-latest
if: always() && !cancelled()
needs: [ci-for-core-lint, ci-for-core, build-core-images]
steps:
- name: Status
run: |
# This will check all jobs status in the `needs` list, and fail job if one is failed.
# Since we split prover and core to different flows, this job will be only as Required Status Check in the Pull Request.
if [[ ${{ contains(join(needs.*.result, ','), 'failure') }} == "true" ]]; then
echo "Intentionally failing to block PR from merging"
exit 1
fi