-
Notifications
You must be signed in to change notification settings - Fork 109
62 lines (55 loc) · 1.72 KB
/
publish-crates.yml
File metadata and controls
62 lines (55 loc) · 1.72 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
name: Upload crates.io packages
permissions:
contents: read
id-token: write
env:
RUSTC_WRAPPER: sccache
SCCACHE_CACHE_SIZE: ${{ vars.SCCACHE_CACHE_SIZE }}
SCCACHE_BUCKET: ${{ vars.SCCACHE_BUCKET }}
SCCACHE_ENDPOINT: ${{ vars.SCCACHE_ENDPOINT }}
SCCACHE_REGION: ${{ vars.SCCACHE_REGION }}
AWS_ACCESS_KEY_ID: "${{ secrets.CI_K8S_MINIO_ACCESS_KEY_ID }}"
AWS_SECRET_ACCESS_KEY: "${{ secrets.CI_K8S_MINIO_SECRET_ACCESS_KEY }}"
on:
workflow_call:
inputs:
environment:
description: "Environment to use (ci or release)"
required: false
type: string
default: "release"
workflow_dispatch:
inputs:
tag:
description: "Tag to release (WARNING: Only use for emergency fixes, not for regular releases)"
required: false
type: string
environment:
description: "Environment to use (ci or release)"
required: false
type: string
default: "release"
jobs:
deploy:
runs-on: [k8s-runners-amd64]
environment:
name: ${{ inputs.environment || 'release' }}
container:
image: ghcr.io/feldera/feldera-dev:sha-db53e1302c944e29edd6d2af516fff7032b90e3b
steps:
- name: Show Kubernetes node
if: always()
run: |
echo "K8S node: ${K8S_NODE_NAME}"
- uses: actions/checkout@v4
with:
ref: ${{ inputs.tag || github.ref }}
- uses: rust-lang/crates-io-auth-action@v1
if: ${{ inputs.environment == 'release' }}
id: auth
- name: Run cargo publish
if: ${{ vars.RELEASE_DRY_RUN == 'false' }}
run: |
cargo publish ${{ vars.CARGO_PUBLISH_FLAGS }}
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}