difftreelog
release use cargo for non x64 architectures
in: master
6 files changed
.github/workflows/release.ymldiffbeforeafterboth54 strategy:54 strategy:55 matrix:55 matrix:56 target:56 target:57 # Tier 158 - aarch64-unknown-linux-gnu59 - i686-pc-windows-gnu60 - i686-pc-windows-msvc61 - i686-unknown-linux-gnu62 - x86_64-apple-darwin57 - x86_64-apple-darwin63 - x86_64-pc-windows-gnu64 - x86_64-pc-windows-msvc58 - x86_64-pc-windows-msvc65 - x86_64-unknown-linux-gnu59 - x86_64-unknown-linux-gnu6667 # Other68 - x86_64-unknown-linux-musl60 - x86_64-unknown-linux-musl69 include:61 include:70 - target: aarch64-unknown-linux-gnu71 os: ubuntu-latest72 bin: jrsonnet73 name: jrsonnet-linux-gnu-aarch6474 - target: i686-pc-windows-gnu75 os: windows-latest76 bin: jrsonnet.exe77 name: jrsonnet-windows-gnu-i686.exe78 - target: i686-pc-windows-msvc79 os: windows-latest80 bin: jrsonnet.exe81 name: jrsonnet-windows-msvc-i686.exe82 - target: i686-unknown-linux-gnu83 os: ubuntu-latest84 bin: jrsonnet85 name: jrsonnet-linux-gnu-i68686 - target: x86_64-apple-darwin62 - target: x86_64-apple-darwin87 os: macOS-latest63 os: macOS-latest88 bin: jrsonnet64 bin: jrsonnet89 name: jrsonnet-darwin-amd6465 name: jrsonnet-darwin-amd6490 - target: x86_64-pc-windows-gnu91 os: windows-latest92 bin: jrsonnet.exe93 name: jrsonnet-windows-gnu-amd64.exe94 - target: x86_64-pc-windows-msvc66 - target: x86_64-pc-windows-msvc95 os: windows-latest67 os: windows-latest96 bin: jrsonnet.exe68 bin: jrsonnet.exe116 - name: Checkout87 - name: Checkout117 uses: actions/checkout@v288 uses: actions/checkout@v2118119 - name: Linux x86 cross compiler120 if: ${{ matrix.target == 'i686-unknown-linux-gnu' }}121 run: sudo apt install gcc-multilib122123 - name: Windows x86 cross compiler124 if: ${{ matrix.target == 'i686-pc-windows-gnu' }}125 uses: egor-tensin/setup-mingw@v2126 with:127 platform: x86128129 - name: ARM cross compiler130 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}131 uses: actions-rs/cargo@v1132 with:133 command: install134 args: cross135136 - name: ARM gcc137 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}138 run: sudo apt install gcc-aarch64-linux-gnu139140 - name: Run ARM build141 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}142 shell: bash143 run: cross build --bin=jrsonnet --release --target ${{ matrix.target }}144145 - name: Run ARM strip146 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}147 shell: bash148 run: aarch64-linux-gnu-strip target/${{ matrix.target }}/release/${{ matrix.bin }}14989150 - name: Run build90 - name: Run build151 if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }}152 uses: actions-rs/cargo@v191 uses: actions-rs/cargo@v1153 with:92 with:154 command: build93 command: build155 args: --bin=jrsonnet --release --target ${{ matrix.target }}94 args: --bin=jrsonnet --release --target ${{ matrix.target }}156157 - name: Run strip158 if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }}159 shell: bash160 run: strip target/${{ matrix.target }}/release/${{ matrix.bin }}16195162 - name: Package96 - name: Package163 shell: bash97 shell: bash164 run: |98 run: |165 cd target/${{ matrix.target }}/release99 strip target/${{ matrix.target }}/release/${{ matrix.bin }}100 cd target/${{ matrix.target }}/release166101167 cp ${{ matrix.bin }} ../../../${{ matrix.name }}102 cp ${{ matrix.bin }} ../../../${{ matrix.name }}168 cd -103 cd -169104170 - name: Generate SHA-256105 - name: Generate SHA-256171 run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256106 run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256README.mddiffbeforeafterboth161617In the end, it's always fun to implement something in Rust.17In the end, it's always fun to implement something in Rust.181819## How to install?2021We build x64 binaries for Apple, Windows MSVC, and Linux GNU during the release process. If your system is one of those, you can check out the [latest release](https://github.com/CertainLach/jrsonnet/releases/latest) to get your pre-built binary. Otherwise, you'll need to have a rust toolchain and install the package through cargo with `cargo install jrsonnet`.2219## Compliance with the [specification](https://jsonnet.org/ref/spec.html)23## Compliance with the [specification](https://jsonnet.org/ref/spec.html)202421- Passes all the original `examples` tests25- Passes all the original `examples` testscmds/jrsonnet/Cargo.tomldiffbeforeafterboth5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"8publish = false9810[features]9[features]11default = []10default = []crates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"8publish = false9810[dependencies]9[dependencies]11jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.6", features = ["explaining-traces"] }10jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.6", features = ["explaining-traces"] }crates/jrsonnet-interner/.gitignorediffbeforeafterbothno changes
crates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"89[features]1011[dependencies]128