-
Notifications
You must be signed in to change notification settings - Fork 62
131 lines (116 loc) · 3.67 KB
/
Copy pathrelease.yml
File metadata and controls
131 lines (116 loc) · 3.67 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
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
119
120
121
122
123
124
125
126
127
128
129
130
131
name: Release
on:
workflow_dispatch: {}
push:
tags:
- "v*.*.*"
env:
CARGO_TERM_COLOR: always
RUST_TOOLCHAIN: nightly-2021-12-10
NPM_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
jobs:
release-sdk:
runs-on: ubuntu-latest
name: Release SDK on NPM
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v17
- name: Setup Cachix
uses: cachix/cachix-action@v10
with:
name: quarry
extraPullNames: saber
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Yarn Cache
uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Install Yarn dependencies
run: yarn install
- name: Parse IDLs
run: nix shell .#ci --command yarn idl:generate
- run: yarn build
- run: |
echo 'npmAuthToken: "${NPM_AUTH_TOKEN}"' >> .yarnrc.yml
- name: Publish
run: yarn npm publish
release-crate:
runs-on: ubuntu-latest
name: Release crate on crates.io
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v17
- name: Setup Cachix
uses: cachix/cachix-action@v10
with:
name: quarry
extraPullNames: saber
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Install Rust nightly
uses: actions-rs/toolchain@v1
with:
override: true
profile: minimal
toolchain: ${{ env.RUST_TOOLCHAIN }}
- uses: Swatinem/rust-cache@v1
- name: Publish crates
run: nix shell .#ci --command cargo workspaces publish --from-git --yes --skip-published --token ${{ secrets.CARGO_PUBLISH_TOKEN }}
release-binaries:
runs-on: ubuntu-latest
name: Release verifiable binaries
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v17
- name: Setup Cachix
uses: cachix/cachix-action@v10
with:
name: quarry
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Build programs
run: nix shell .#ci --command anchor build --verifiable
- name: Release
uses: softprops/action-gh-release@v1
with:
files: |
target/deploy/*
target/idl/*
target/verifiable/*
site:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- uses: cachix/install-nix-action@v17
- name: Setup Cachix
uses: cachix/cachix-action@v10
with:
name: quarry
extraPullNames: saber
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
- name: Get yarn cache directory path
id: yarn-cache-dir-path
run: echo "::set-output name=dir::$(yarn config get cacheFolder)"
- name: Yarn Cache
uses: actions/cache@v3
with:
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-modules-
- name: Install Yarn dependencies
run: yarn install
- name: Parse IDLs
run: nix shell .#ci --command yarn idl:generate
- run: yarn docs:generate
- run: cp -R images/ site/
- name: Deploy 🚀
uses: JamesIves/github-pages-deploy-action@v4.4.0
with:
branch: gh-pages
folder: site