git.delta.rocks / jrsonnet / refs/commits / 6aae8b5863ce

difftreelog

release use cargo for non x64 architectures

Bruno Felipe Leal Delfino2021-06-03parent: #f4a2c24.patch.diff
in: master

6 files changed

modified.github/workflows/release.ymldiffbeforeafterboth
54 strategy:54 strategy:
55 matrix:55 matrix:
56 target:56 target:
57 # Tier 1
58 - aarch64-unknown-linux-gnu
59 - i686-pc-windows-gnu
60 - i686-pc-windows-msvc
61 - i686-unknown-linux-gnu
62 - x86_64-apple-darwin57 - x86_64-apple-darwin
63 - x86_64-pc-windows-gnu
64 - x86_64-pc-windows-msvc58 - x86_64-pc-windows-msvc
65 - x86_64-unknown-linux-gnu59 - x86_64-unknown-linux-gnu
66
67 # Other
68 - x86_64-unknown-linux-musl60 - x86_64-unknown-linux-musl
69 include:61 include:
70 - target: aarch64-unknown-linux-gnu
71 os: ubuntu-latest
72 bin: jrsonnet
73 name: jrsonnet-linux-gnu-aarch64
74 - target: i686-pc-windows-gnu
75 os: windows-latest
76 bin: jrsonnet.exe
77 name: jrsonnet-windows-gnu-i686.exe
78 - target: i686-pc-windows-msvc
79 os: windows-latest
80 bin: jrsonnet.exe
81 name: jrsonnet-windows-msvc-i686.exe
82 - target: i686-unknown-linux-gnu
83 os: ubuntu-latest
84 bin: jrsonnet
85 name: jrsonnet-linux-gnu-i686
86 - target: x86_64-apple-darwin62 - target: x86_64-apple-darwin
87 os: macOS-latest63 os: macOS-latest
88 bin: jrsonnet64 bin: jrsonnet
89 name: jrsonnet-darwin-amd6465 name: jrsonnet-darwin-amd64
90 - target: x86_64-pc-windows-gnu
91 os: windows-latest
92 bin: jrsonnet.exe
93 name: jrsonnet-windows-gnu-amd64.exe
94 - target: x86_64-pc-windows-msvc66 - target: x86_64-pc-windows-msvc
95 os: windows-latest67 os: windows-latest
96 bin: jrsonnet.exe68 bin: jrsonnet.exe
116 - name: Checkout87 - name: Checkout
117 uses: actions/checkout@v288 uses: actions/checkout@v2
118
119 - name: Linux x86 cross compiler
120 if: ${{ matrix.target == 'i686-unknown-linux-gnu' }}
121 run: sudo apt install gcc-multilib
122
123 - name: Windows x86 cross compiler
124 if: ${{ matrix.target == 'i686-pc-windows-gnu' }}
125 uses: egor-tensin/setup-mingw@v2
126 with:
127 platform: x86
128
129 - name: ARM cross compiler
130 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
131 uses: actions-rs/cargo@v1
132 with:
133 command: install
134 args: cross
135
136 - name: ARM gcc
137 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
138 run: sudo apt install gcc-aarch64-linux-gnu
139
140 - name: Run ARM build
141 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
142 shell: bash
143 run: cross build --bin=jrsonnet --release --target ${{ matrix.target }}
144
145 - name: Run ARM strip
146 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}
147 shell: bash
148 run: aarch64-linux-gnu-strip target/${{ matrix.target }}/release/${{ matrix.bin }}
14989
150 - name: Run build90 - name: Run build
151 if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }}
152 uses: actions-rs/cargo@v191 uses: actions-rs/cargo@v1
153 with:92 with:
154 command: build93 command: build
155 args: --bin=jrsonnet --release --target ${{ matrix.target }}94 args: --bin=jrsonnet --release --target ${{ matrix.target }}
156
157 - name: Run strip
158 if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }}
159 shell: bash
160 run: strip target/${{ matrix.target }}/release/${{ matrix.bin }}
16195
162 - name: Package96 - name: Package
163 shell: bash97 shell: bash
164 run: |98 run: |
165 cd target/${{ matrix.target }}/release99 strip target/${{ matrix.target }}/release/${{ matrix.bin }}
100 cd target/${{ matrix.target }}/release
166101
167 cp ${{ matrix.bin }} ../../../${{ matrix.name }}102 cp ${{ matrix.bin }} ../../../${{ matrix.name }}
168 cd -103 cd -
169104
170 - name: Generate SHA-256105 - name: Generate SHA-256
171 run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256106 run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256
modifiedREADME.mddiffbeforeafterboth
--- a/README.md
+++ b/README.md
@@ -16,6 +16,10 @@
 
 In the end, it's always fun to implement something in Rust.
 
+## How to install?
+
+We 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`.
+
 ## Compliance with the [specification](https://jsonnet.org/ref/spec.html)
 
 - Passes all the original `examples` tests
modifiedcmds/jrsonnet/Cargo.tomldiffbeforeafterboth
--- a/cmds/jrsonnet/Cargo.toml
+++ b/cmds/jrsonnet/Cargo.toml
@@ -5,7 +5,6 @@
 authors = ["Yaroslav Bolyukin <iam@lach.pw>"]
 license = "MIT"
 edition = "2018"
-publish = false
 
 [features]
 default = []
modifiedcrates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth
--- a/crates/jrsonnet-cli/Cargo.toml
+++ b/crates/jrsonnet-cli/Cargo.toml
@@ -5,7 +5,6 @@
 authors = ["Yaroslav Bolyukin <iam@lach.pw>"]
 license = "MIT"
 edition = "2018"
-publish = false
 
 [dependencies]
 jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.6", features = ["explaining-traces"] }
deletedcrates/jrsonnet-interner/.gitignorediffbeforeafterboth
--- a/crates/jrsonnet-interner/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/target
-Cargo.lock
modifiedcrates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth
--- a/crates/jrsonnet-stdlib/Cargo.toml
+++ b/crates/jrsonnet-stdlib/Cargo.toml
@@ -5,7 +5,3 @@
 authors = ["Yaroslav Bolyukin <iam@lach.pw>"]
 license = "MIT"
 edition = "2018"
-
-[features]
-
-[dependencies]