Skip to content

Commit 137e761

Browse files
committed
build: enable cloning private repos
1 parent f2b81c9 commit 137e761

File tree

3 files changed

+56
-8
lines changed

3 files changed

+56
-8
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
name: checkout
2+
description: "Checks out repo with optional token"
3+
inputs:
4+
token:
5+
description: "Access token for private repos"
6+
required: false
7+
8+
runs:
9+
using: "composite"
10+
steps:
11+
- id: get-toolchain
12+
shell: bash
13+
run: |
14+
USER_OVERRIDE=${{ inputs.toolchain }}
15+
DEFAULT_TOOLCHAIN=$(grep channel rust-toolchain.toml | awk '{print $3}' | sed 's/"//g')
16+
TOOLCHAIN=${USER_OVERRIDE:-$DEFAULT_TOOLCHAIN}
17+
echo "toolchain=$TOOLCHAIN" >> $GITHUB_OUTPUT
18+
19+
- uses: actions/checkout@v3
20+
if: "${{ inputs.token != null }}"
21+
with:
22+
token: ${{ secrets.CI_READ }}
23+
submodules: recursive
24+
- uses: actions/checkout@v3
25+
if: "${{ inputs.token == null }}"
26+
with:
27+
submodules: recursive

.github/workflows/actions/rust-toolchain/action.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
name: rust-toolchain
2+
description: "Sets up a standard rust toolchain"
23
inputs:
34
toolchain:
45
description: "Which rust toolchain to use"
56
required: false
7+
token:
8+
description: "Access token for private repos"
9+
required: false
610

711
runs:
812
using: "composite"
@@ -23,3 +27,9 @@ runs:
2327
- uses: Swatinem/[email protected]
2428
with:
2529
shared-key: ${{ steps.get-toolchain.outputs.toolchain }}
30+
- run: git config --global url."https://x-access-token:${{ inputs.token }}@github.com/".insteadOf "https://github.com/"
31+
if: ${{ inputs.token != null }}
32+
shell: bash
33+
- run: git config --global url."https://${{ inputs.token }}@github.com/".insteadOf "[email protected]:"
34+
if: ${{ inputs.token != null }}
35+
shell: bash

.github/workflows/ci.yml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,33 +22,38 @@ jobs:
2222
if: needs.skip-duplicates.outputs.should_skip != 'true'
2323
runs-on: ubuntu-latest
2424
steps:
25-
- uses: actions/checkout@v3
25+
- uses: ./.github/workflows/actions/checkout
2626
with:
27-
submodules: recursive
27+
token: ${{ secrets.CI_READ }}
2828
- uses: ./.github/workflows/actions/rust-toolchain
29+
with:
30+
personal-access-token: ${{ secrets.CI_READ }}
2931
- run: cargo check --all-features
3032

3133
test:
3234
needs: skip-duplicates
3335
if: needs.skip-duplicates.outputs.should_skip != 'true'
3436
runs-on: ubuntu-latest
3537
steps:
36-
- uses: actions/checkout@v3
38+
- uses: ./.github/workflows/actions/checkout
3739
with:
38-
submodules: recursive
40+
token: ${{ secrets.CI_READ }}
3941
- uses: ./.github/workflows/actions/rust-toolchain
42+
with:
43+
personal-access-token: ${{ secrets.CI_READ }}
4044
- run: cargo test --all-features
4145

4246
fmt:
4347
needs: skip-duplicates
4448
if: needs.skip-duplicates.outputs.should_skip != 'true'
4549
runs-on: ubuntu-latest
4650
steps:
47-
- uses: actions/checkout@v3
51+
- uses: ./.github/workflows/actions/checkout
4852
with:
49-
submodules: recursive
53+
token: ${{ secrets.CI_READ }}
5054
- uses: ./.github/workflows/actions/rust-toolchain
5155
with:
56+
personal-access-token: ${{ secrets.CI_READ }}
5257
toolchain: nightly
5358
- run: rustup component add rustfmt
5459
- run: cargo fmt --all --check
@@ -59,9 +64,12 @@ jobs:
5964
runs-on: ubuntu-latest
6065
steps:
6166
- uses: actions/checkout@v3
67+
- uses: ./.github/workflows/actions/checkout
6268
with:
63-
submodules: recursive
69+
token: ${{ secrets.CI_READ }}
6470
- uses: ./.github/workflows/actions/rust-toolchain
71+
with:
72+
personal-access-token: ${{ secrets.CI_READ }}
6573
- run: rustup component add clippy
6674
- run: cargo clippy --all-features -- --deny warnings
6775

@@ -71,7 +79,10 @@ jobs:
7179
runs-on: ubuntu-latest
7280
steps:
7381
- uses: actions/checkout@v3
82+
- uses: ./.github/workflows/actions/checkout
7483
with:
75-
submodules: recursive
84+
token: ${{ secrets.CI_READ }}
7685
- uses: ./.github/workflows/actions/rust-toolchain
86+
with:
87+
personal-access-token: ${{ secrets.CI_READ }}
7788
- run: cargo doc --all-features --no-deps

0 commit comments

Comments
 (0)