-
Notifications
You must be signed in to change notification settings - Fork 1
156 lines (133 loc) · 5.8 KB
/
release.yml
File metadata and controls
156 lines (133 loc) · 5.8 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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
name: Release
on:
push:
branches:
- zkc0dl3
tags:
- 'v*.*.*'
jobs:
release:
name: Create Release
runs-on: ubuntu-latest
# only run the release job for tag pushes
# if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: stable
- name: Add Rust targets (note linking for some targets may still fail on Linux)
run: |
rustup target add x86_64-unknown-linux-gnu \
x86_64-pc-windows-gnu \
x86_64-apple-darwin \
aarch64-apple-darwin || true
- name: Build release binaries
run: |
set -eux
# native Linux
cargo build --release --no-default-features
# additional targets — these will often fail on ubuntu-latest without extra toolchains/linkers
cargo build --release --no-default-features --target x86_64-unknown-linux-gnu || true
cargo build --release --no-default-features --target x86_64-pc-windows-gnu || true
cargo build --release --no-default-features --target x86_64-apple-darwin || true
cargo build --release --no-default-features --target aarch64-apple-darwin || true
- name: Create release archives
run: |
set -eux
mkdir -p release
# Linux x86_64 (native)
cp target/release/codl3-zksync release/codl3-zksync-linux-x86_64
tar -czf release/codl3-zksync-linux-x86_64.tar.gz -C release codl3-zksync-linux-x86_64
# Linux x86_64 (cross target dir)
if [ -f target/x86_64-unknown-linux-gnu/release/codl3-zksync ]; then
cp target/x86_64-unknown-linux-gnu/release/codl3-zksync release/codl3-zksync-linux-x86_64-cross
tar -czf release/codl3-zksync-linux-x86_64-cross.tar.gz -C release codl3-zksync-linux-x86_64-cross
fi
# Windows x86_64 (cross)
if [ -f target/x86_64-pc-windows-gnu/release/codl3-zksync.exe ]; then
cp target/x86_64-pc-windows-gnu/release/codl3-zksync.exe release/codl3-zksync-windows-x86_64.exe
zip -j release/codl3-zksync-windows-x86_64.zip release/codl3-zksync-windows-x86_64.exe
fi
# macOS Intel
if [ -f target/x86_64-apple-darwin/release/codl3-zksync ]; then
cp target/x86_64-apple-darwin/release/codl3-zksync release/codl3-zksync-macos-intel
tar -czf release/codl3-zksync-macos-intel.tar.gz -C release codl3-zksync-macos-intel
fi
# macOS Apple Silicon
if [ -f target/aarch64-apple-darwin/release/codl3-zksync ]; then
cp target/aarch64-apple-darwin/release/codl3-zksync release/codl3-zksync-macos-apple-silicon
tar -czf release/codl3-zksync-macos-apple-silicon.tar.gz -C release codl3-zksync-macos-apple-silicon
fi
- id: create_release
name: Create GitHub release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref_name }}
release_name: Release ${{ github.ref_name }}
body: |
## C0DL3 zkSync Node Release ${{ github.ref_name }}
This release includes binaries for multiple platforms:
### Features
- Production STARK proof system
- CN-UPX/2 mining algorithm
- Address encryption (ChaCha20Poly1305)
- Transaction privacy
- Security vulnerability fixes (100% score)
- XFG Winterfell integration
- Merge mining with Fuego L1
- HEAT token bridging
- COLD token generation
### Downloads
- **Linux x86_64**: `codl3-zksync-linux-x86_64.tar.gz`
- **Windows x86_64**: `codl3-zksync-windows-x86_64.zip`
- **macOS Intel**: `codl3-zksync-macos-intel.tar.gz`
- **macOS Apple Silicon**: `codl3-zksync-macos-apple-silicon.tar.gz`
### Installation
1. Download the appropriate binary for your platform
2. Extract the archive
3. Run `./codl3-zksync --help` for usage information
### Configuration
See the testnet setup guide in `testnet/README.md` for configuration examples.
draft: false
prerelease: false
- name: Upload Linux release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/codl3-zksync-linux-x86_64.tar.gz
asset_name: codl3-zksync-linux-x86_64.tar.gz
asset_content_type: application/gzip
- name: Upload Windows release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/codl3-zksync-windows-x86_64.zip
asset_name: codl3-zksync-windows-x86_64.zip
asset_content_type: application/zip
- name: Upload macOS Intel release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/codl3-zksync-macos-intel.tar.gz
asset_name: codl3-zksync-macos-intel.tar.gz
asset_content_type: application/gzip
- name: Upload macOS Apple Silicon release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: release/codl3-zksync-macos-apple-silicon.tar.gz
asset_name: codl3-zksync-macos-apple-silicon.tar.gz
asset_content_type: application/gzip