Skip to content

Commit 54bab1a

Browse files
committed
new deploy flow
1 parent 86dba45 commit 54bab1a

27 files changed

Lines changed: 1354 additions & 240 deletions

.github/workflows/build_example.yaml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ jobs:
77
- name: checkout repo
88
uses: actions/checkout@v4
99
with:
10+
persist-credentials: false
11+
ref: ${{ inputs.ref || github.sha }}
12+
repository: ${{ inputs.repository || github.repository }}
1013
submodules: true
1114
- name: install rust toolchain
1215
uses: dtolnay/rust-toolchain@master
@@ -45,7 +48,7 @@ jobs:
4548
with:
4649
name: ${{ inputs.api }}_${{ inputs.example }}
4750
path: dist
48-
name: build_example
51+
name: build example
4952
on:
5053
workflow_call:
5154
inputs:
@@ -55,3 +58,9 @@ on:
5558
example:
5659
required: true
5760
type: string
61+
ref:
62+
required: false
63+
type: string
64+
repository:
65+
required: false
66+
type: string

.github/workflows/ci.yaml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,14 @@ env:
44
RUSTDOCFLAGS: --deny warnings
55
RUSTFLAGS: --deny warnings
66
jobs:
7-
assert_nickels_synced_:
8-
name: assert_nickels_synced_
7+
assert_nickels_synced:
8+
name: assert nickels synced
99
runs-on: ubuntu-latest
1010
steps:
1111
- name: checkout repo
1212
uses: actions/checkout@v4
1313
with:
14+
persist-credentials: false
1415
submodules: true
1516
- name: install nickel
1617
run: |-
@@ -24,16 +25,17 @@ jobs:
2425
uses: extractions/setup-just@v2
2526
- name: assert nickels synced
2627
run: |-
27-
just sync_nickels
28+
just format_nickels sync_nickels
2829
[[ -n $(git status --porcelain) ]] && echo 'nickels are not synced; run `just format_nickels sync_nickels`' && exit 1 || exit 0
2930
check_all_features:
30-
name: check_all_features
31-
needs: assert_nickels_synced_
31+
name: check all features
32+
needs: assert_nickels_synced
3233
runs-on: ubuntu-latest
3334
steps:
3435
- name: checkout repo
3536
uses: actions/checkout@v4
3637
with:
38+
persist-credentials: false
3739
submodules: true
3840
- name: install rust toolchain
3941
uses: dtolnay/rust-toolchain@master
@@ -56,12 +58,13 @@ jobs:
5658
run: just check_all_features
5759
clippy:
5860
name: clippy
59-
needs: assert_nickels_synced_
61+
needs: assert_nickels_synced
6062
runs-on: ubuntu-latest
6163
steps:
6264
- name: checkout repo
6365
uses: actions/checkout@v4
6466
with:
67+
persist-credentials: false
6568
submodules: true
6669
- name: install rust toolchain
6770
uses: dtolnay/rust-toolchain@master
@@ -81,12 +84,13 @@ jobs:
8184
run: just clippy
8285
docs:
8386
name: docs
84-
needs: assert_nickels_synced_
87+
needs: assert_nickels_synced
8588
runs-on: ubuntu-latest
8689
steps:
8790
- name: checkout repo
8891
uses: actions/checkout@v4
8992
with:
93+
persist-credentials: false
9094
submodules: true
9195
- name: install rust toolchain
9296
uses: dtolnay/rust-toolchain@master
@@ -105,12 +109,13 @@ jobs:
105109
run: just doc
106110
format:
107111
name: format
108-
needs: assert_nickels_synced_
112+
needs: assert_nickels_synced
109113
runs-on: ubuntu-latest
110114
steps:
111115
- name: checkout repo
112116
uses: actions/checkout@v4
113117
with:
118+
persist-credentials: false
114119
submodules: true
115120
- name: install rust toolchain
116121
uses: dtolnay/rust-toolchain@master
@@ -123,12 +128,13 @@ jobs:
123128
run: just format -- --check
124129
test:
125130
name: test
126-
needs: assert_nickels_synced_
131+
needs: assert_nickels_synced
127132
runs-on: ubuntu-latest
128133
steps:
129134
- name: checkout repo
130135
uses: actions/checkout@v4
131136
with:
137+
persist-credentials: false
132138
submodules: true
133139
- name: install rust toolchain
134140
uses: dtolnay/rust-toolchain@master

.github/workflows/cleanup_pr_previews.yaml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,30 @@
22
env:
33
PR: ${{ github.event.pull_request.number }}
44
jobs:
5+
cancel_deployments:
6+
concurrency:
7+
cancel-in-progress: true
8+
group: pr-preview-${{ github.event.pull_request.number }}
9+
name: cancel deployments
10+
permissions: {}
11+
runs-on: ubuntu-latest
12+
steps:
13+
- name: cancel in-progress preview deployments
14+
run: 'true'
515
cleanup:
16+
concurrency:
17+
cancel-in-progress: true
18+
group: pr-preview-cleanup-${{ github.event.pull_request.number }}
619
name: cleanup
20+
needs: cancel_deployments
21+
permissions:
22+
contents: write
723
runs-on: ubuntu-latest
824
steps:
925
- name: checkout repo
1026
uses: actions/checkout@v4
1127
with:
28+
persist-credentials: false
1229
submodules: true
1330
- name: make empty dir
1431
run: mkdir -p empty_dir
@@ -20,10 +37,8 @@ jobs:
2037
folder: empty_dir
2138
single-commit: true
2239
target-folder: pr_previews/${{ env.PR }}
23-
name: cleanup_pr_previews
40+
name: cleanup pr previews
2441
on:
2542
pull_request_target:
2643
types:
2744
- closed
28-
permissions:
29-
contents: write

0 commit comments

Comments
 (0)