Skip to content

Upload sha256sums for binaries #216

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 16, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 32 additions & 4 deletions .github/workflows/upload-binaries.yml
Original file line number Diff line number Diff line change
Expand Up @@ -72,12 +72,23 @@ jobs:
if: ${{ matrix.target != 'x86_64-unknown-linux-musl' }}
run: npm --prefix ./crates/bindings/tmc-langs-node run build -- --release --target ${{ matrix.target }}

- name: Generate checksums
run: |
sha256sum ./target/${{ matrix.target }}/release/tmc-langs-cli > ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256
if [ "${{ matrix.target }}" != "x86_64-unknown-linux-musl" ]; then
sha256sum ./crates/bindings/tmc-langs-node/ts/functions.node > ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$TAG.node.sha256
fi

- name: Deploy
run: gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG
run: |
gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG
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

- name: Deploy for node
if: ${{ matrix.target != 'x86_64-unknown-linux-musl' }}
run: gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node
run: |
gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node
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

windows:
runs-on: windows-2022
Expand Down Expand Up @@ -111,12 +122,20 @@ jobs:
$env:RUSTFLAGS="-C target-feature=+crt-static" # crt-static is set with RUSTFLAGS to statically link MSVCRT (VCRUNTIME140.dll)
cargo build -p tmc-langs-cli --release --target ${{ matrix.target }}
cd ./crates/bindings/tmc-langs-node && npm install && npm run build -- --release --target ${{ matrix.target }}

- name: Generate checksums
run: |
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
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

- name: Deploy
run: |
$env:python_version=$(python -c 'import sys; print(".".join(map(str, sys.version_info[:3])))')
$env:CLOUDSDK_PYTHON="C:\hostedtoolcache\windows\Python\$env:python_version\x64\python"
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
gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$Env:TAG.node
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
gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$Env:TAG.node
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

macos:
runs-on: macos-13
Expand Down Expand Up @@ -152,9 +171,18 @@ jobs:
cargo build -p tmc-langs-cli --release --target ${{ matrix.target }}
npm --prefix ./crates/bindings/tmc-langs-node install
npm run --prefix ./crates/bindings/tmc-langs-node build -- --release

- name: Sign
run: codesign --force -s - target/${{ matrix.target }}/release/tmc-langs-cli

- name: Generate checksums
run: |
shasum -a 256 ./target/${{ matrix.target }}/release/tmc-langs-cli > ./target/${{ matrix.target }}/release/tmc-langs-cli-${{ matrix.target }}-$TAG.sha256
shasum -a 256 ./crates/bindings/tmc-langs-node/ts/functions.node > ./crates/bindings/tmc-langs-node/ts/functions-${{ matrix.target }}-$TAG.node.sha256

- name: Deploy
run: |
gsutil cp ./target/${{ matrix.target }}/release/tmc-langs-cli gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-cli-${{ matrix.target }}-$TAG
gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node
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
gsutil cp ./crates/bindings/tmc-langs-node/ts/functions.node gs://${{ secrets.GCP_BUCKET }}/tmc-langs-rust/tmc-langs-${{ matrix.target }}-$TAG.node
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
Loading