Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Commit 4fa2783

Browse files
Prepare picante 3.0.0-rc.0 (#56)
* ci: use bearcove linux runners * ci: configure actionlint * ci: use node 24 action runtimes * chore: prepare picante 3.0.0-rc.0
1 parent 28d99f2 commit 4fa2783

12 files changed

Lines changed: 107 additions & 60 deletions

File tree

.config/dodeca.styx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ code_execution {
1414
cache_dir .cache/code-execution
1515
dependencies (
1616
{name tokio, version "1.0"}
17-
{name picante, version "0.1.0", path crates/picante}
18-
{name facet, version "0.32.2"}
17+
{name picante, version "3.0.0-rc.0", path crates/picante}
18+
{name facet, version "0.50.0-rc.0"}
1919
)
2020
rust {
2121
command cargo

.github/actionlint.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
self-hosted-runner:
2+
labels:
3+
- bearcove-ubuntu-24.04

.github/workflows/ci.yml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ env:
1414
jobs:
1515
test:
1616
name: Test + Coverage
17-
runs-on: ubuntu-latest
17+
runs-on: bearcove-ubuntu-24.04
1818
steps:
1919
- uses: actions/checkout@v6
2020

@@ -25,7 +25,9 @@ jobs:
2525
uses: dtolnay/rust-toolchain@nightly
2626

2727
- name: Install cargo-llvm-cov
28-
uses: taiki-e/install-action@cargo-llvm-cov
28+
uses: taiki-e/install-action@v2
29+
with:
30+
tool: cargo-llvm-cov
2931

3032
- name: Cache cargo
3133
uses: Swatinem/rust-cache@v2
@@ -41,15 +43,15 @@ jobs:
4143
run: cargo bench --workspace --all-features --no-run
4244

4345
- name: Upload coverage
44-
uses: codecov/codecov-action@v3
46+
uses: codecov/codecov-action@v7
4547
with:
4648
files: coverage/lcov.info
4749
token: ${{ secrets.CODECOV_TOKEN }}
4850
fail_ci_if_error: false
4951

5052
clippy:
5153
name: Clippy
52-
runs-on: ubuntu-latest
54+
runs-on: bearcove-ubuntu-24.04
5355
steps:
5456
- uses: actions/checkout@v6
5557

@@ -66,7 +68,7 @@ jobs:
6668

6769
fmt:
6870
name: Format
69-
runs-on: ubuntu-latest
71+
runs-on: bearcove-ubuntu-24.04
7072
steps:
7173
- uses: actions/checkout@v6
7274

@@ -80,7 +82,7 @@ jobs:
8082

8183
doc:
8284
name: Docs
83-
runs-on: ubuntu-latest
85+
runs-on: bearcove-ubuntu-24.04
8486
steps:
8587
- uses: actions/checkout@v6
8688

@@ -94,4 +96,3 @@ jobs:
9496
env:
9597
RUSTDOCFLAGS: -D warnings
9698
run: cargo doc --workspace --all-features --no-deps
97-

.github/workflows/docs.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ concurrency:
2020

2121
jobs:
2222
build:
23-
runs-on: ubuntu-latest
23+
runs-on: bearcove-ubuntu-24.04
2424
steps:
2525
- uses: actions/checkout@v6
2626

@@ -37,21 +37,21 @@ jobs:
3737
working-directory: docs
3838

3939
- name: Setup Pages
40-
uses: actions/configure-pages@v4
40+
uses: actions/configure-pages@v6
4141

4242
- name: Upload artifact
43-
uses: actions/upload-pages-artifact@v3
43+
uses: actions/upload-pages-artifact@v5
4444
with:
4545
path: docs/public
4646

4747
deploy:
4848
environment:
4949
name: github-pages
5050
url: ${{ steps.deployment.outputs.page_url }}
51-
runs-on: ubuntu-latest
51+
runs-on: bearcove-ubuntu-24.04
5252
needs: build
5353
steps:
5454
- name: Deploy to GitHub Pages
5555
id: deployment
56-
uses: actions/deploy-pages@v4
56+
uses: actions/deploy-pages@v5
5757

.github/workflows/release-plz.yml

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,15 @@ on:
88
jobs:
99
release-pr:
1010
name: Release PR
11-
runs-on: depot-ubuntu-24.04-16
11+
runs-on: bearcove-ubuntu-24.04
1212
permissions:
1313
contents: write
1414
pull-requests: write
1515
concurrency:
1616
group: release-plz-${{ github.ref }}
1717
cancel-in-progress: false
1818
steps:
19-
- uses: actions/checkout@v4
19+
- uses: actions/checkout@v6
2020
with:
2121
fetch-depth: 0
2222

@@ -32,29 +32,69 @@ jobs:
3232

3333
release:
3434
name: Publish
35-
runs-on: depot-ubuntu-24.04-16
35+
runs-on: bearcove-ubuntu-24.04
3636
permissions:
3737
contents: write
3838
id-token: write
3939
concurrency:
4040
group: release-${{ github.ref }}
4141
cancel-in-progress: false
4242
steps:
43-
- uses: actions/checkout@v4
43+
- uses: actions/checkout@v6
4444
with:
4545
fetch-depth: 0
4646

4747
- name: Install Rust
4848
uses: dtolnay/rust-toolchain@1.92
4949

50-
- name: Authenticate to crates.io (OIDC)
50+
- name: Get crates.io token via OIDC
5151
id: crates-io-auth
52-
uses: rust-lang/crates-io-auth-action@v1
52+
shell: bash
53+
env:
54+
REGISTRY_URL: https://crates.io
55+
run: |
56+
set -euo pipefail
57+
if [ -z "${ACTIONS_ID_TOKEN_REQUEST_URL:-}" ]; then
58+
echo "::error::Please ensure the 'id-token' permission is set to 'write' in your workflow."
59+
exit 1
60+
fi
61+
62+
oidc_url="${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=crates.io"
63+
jwt="$(curl -fsSL -H "Authorization: bearer ${ACTIONS_ID_TOKEN_REQUEST_TOKEN}" "${oidc_url}" | jq -r '.value')"
64+
if [ -z "${jwt}" ] || [ "${jwt}" = "null" ]; then
65+
echo "::error::Failed to retrieve GitHub Actions OIDC token"
66+
exit 1
67+
fi
68+
69+
token="$(jq -n --arg jwt "${jwt}" '{jwt: $jwt}' \
70+
| curl -fsSL -X POST "${REGISTRY_URL}/api/v1/trusted_publishing/tokens" \
71+
-H "Content-Type: application/json" \
72+
-H "User-Agent: crates-io-auth-shell/1" \
73+
--data @- \
74+
| jq -r '.token')"
75+
if [ -z "${token}" ] || [ "${token}" = "null" ]; then
76+
echo "::error::Failed to retrieve crates.io token"
77+
exit 1
78+
fi
5379
80+
echo "::add-mask::${token}"
81+
echo "token=${token}" >> "${GITHUB_OUTPUT}"
5482
- name: Run release-plz
5583
uses: release-plz/action@v0.5
5684
with:
5785
command: release
5886
env:
5987
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6088
CARGO_REGISTRY_TOKEN: ${{ steps.crates-io-auth.outputs.token }}
89+
- name: Revoke crates.io token
90+
if: always() && steps.crates-io-auth.outputs.token != ''
91+
shell: bash
92+
env:
93+
CARGO_REGISTRY_TOKEN: ${{ steps.crates-io-auth.outputs.token }}
94+
REGISTRY_URL: https://crates.io
95+
run: |
96+
set -euo pipefail
97+
curl -fsSL -X DELETE "${REGISTRY_URL}/api/v1/trusted_publishing/tokens" \
98+
-H "Authorization: Bearer ${CARGO_REGISTRY_TOKEN}" \
99+
-H "User-Agent: crates-io-auth-shell/1" \
100+
--output /dev/null

Cargo.lock

Lines changed: 28 additions & 28 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)