4040 uses : dtolnay/rust-toolchain@stable
4141 - name : Cache
4242 uses : Swatinem/rust-cache@v2
43- - name : Node
44- uses : actions/setup-node@v4
45- with :
46- node-version : " 18"
4743 - id : " auth"
4844 uses : google-github-actions/auth@v2
4945 with :
@@ -66,30 +62,16 @@ jobs:
6662 run : |
6763 rustup target add ${{ matrix.target }}
6864 cargo build -p tmc-langs-cli --release --target ${{ matrix.target }}
69- npm --prefix ./crates/bindings/tmc-langs-node install
70-
71- - name : Build for node
72- if : ${{ matrix.target != 'x86_64-unknown-linux-musl' }}
73- run : npm --prefix ./crates/bindings/tmc-langs-node run build -- --release --target ${{ matrix.target }}
7465
7566 - name : Generate checksums
7667 run : |
7768 sha256sum ./target/${{ matrix.target }}/release/tmc-langs-cli > ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256
78- if [ "${{ matrix.target }}" != "x86_64-unknown-linux-musl" ]; then
79- sha256sum ./crates/bindings/tmc-langs-node/ts/functions.node > ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$TAG.node.sha256
80- fi
8169
8270 - name : Deploy
8371 run : |
8472 gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG
8573 gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256 gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256
8674
87- - name : Deploy for node
88- if : ${{ matrix.target != 'x86_64-unknown-linux-musl' }}
89- run : |
90- gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node
91- gsutil cp ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$TAG.node.sha256 gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node.sha256
92-
9375 windows :
9476 runs-on : windows-2022
9577 strategy :
@@ -103,10 +85,6 @@ jobs:
10385 uses : dtolnay/rust-toolchain@stable
10486 - name : Cache
10587 uses : Swatinem/rust-cache@v2
106- - name : Node
107- uses : actions/setup-node@v4
108- with :
109- node-version : " 18"
11088 - id : " auth"
11189 uses : google-github-actions/auth@v2
11290 with :
@@ -121,21 +99,17 @@ jobs:
12199 rustup target add ${{ matrix.target }}
122100 $env:RUSTFLAGS="-C target-feature=+crt-static" # crt-static is set with RUSTFLAGS to statically link MSVCRT (VCRUNTIME140.dll)
123101 cargo build -p tmc-langs-cli --release --target ${{ matrix.target }}
124- cd ./crates/bindings/tmc-langs-node && npm install && npm run build -- --release --target ${{ matrix.target }}
125102
126103 - name : Generate checksums
127104 run : |
128105 Get-FileHash -Path ./target/${{ matrix.target }}/release/tmc-langs-cli.exe -Algorithm SHA256 | Select-Object -ExpandProperty Hash | Out-File -Encoding ASCII ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$Env:TAG.exe.sha256
129- Get-FileHash -Path ./crates/bindings/tmc-langs-node/ts/functions.node -Algorithm SHA256 | Select-Object -ExpandProperty Hash | Out-File -Encoding ASCII ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$Env:TAG.node.sha256
130106
131107 - name : Deploy
132108 run : |
133109 $env:python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:3])))')
134110 $env:CLOUDSDK_PYTHON="C:\hostedtoolcache\windows\Python\$env:python_version\x64\python"
135111 gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli.exe gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$Env:TAG.exe
136112 gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$Env:TAG.exe.sha256 gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$Env:TAG.exe.sha256
137- gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$Env:TAG.node
138- gsutil cp ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$Env:TAG.node.sha256 gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$Env:TAG.node.sha256
139113
140114 macos :
141115 runs-on : macos-13
@@ -150,10 +124,6 @@ jobs:
150124 uses : dtolnay/rust-toolchain@stable
151125 - name : Cache
152126 uses : Swatinem/rust-cache@v2
153- - name : Node
154- uses : actions/setup-node@v4
155- with :
156- node-version : " 18"
157127 - id : " auth"
158128 uses : google-github-actions/auth@v2
159129 with :
@@ -169,20 +139,15 @@ jobs:
169139 run : |
170140 rustup target add ${{ matrix.target }}
171141 cargo build -p tmc-langs-cli --release --target ${{ matrix.target }}
172- npm --prefix ./crates/bindings/tmc-langs-node install
173- npm run --prefix ./crates/bindings/tmc-langs-node build -- --release
174142
175143 - name : Sign
176144 run : codesign --force -s - target/${{ matrix.target }}/release/tmc-langs-cli
177145
178146 - name : Generate checksums
179147 run : |
180148 shasum -a 256 ./target/${{ matrix.target }}/release/tmc-langs-cli > ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256
181- shasum -a 256 ./crates/bindings/tmc-langs-node/ts/functions.node > ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$TAG.node.sha256
182149
183150 - name : Deploy
184151 run : |
185152 gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG
186153 gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256 gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256
187- gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node
188- gsutil cp ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$TAG.node.sha256 gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node.sha256
0 commit comments