difftreelog
ci add release
in: master
2 files changed
.github/workflows/lints.ymldiffbeforeafterboth1on: [push, pull_request]23name: Quickstart45jobs:6 check:7 name: Check8 runs-on: ubuntu-latest9 steps:10 - name: Checkout sources11 uses: actions/checkout@v21213 - name: Install stable toolchain14 uses: actions-rs/toolchain@v115 with:16 profile: minimal17 toolchain: stable18 override: true1920 - name: Run cargo check21 uses: actions-rs/cargo@v122 with:23 command: check2425 test:26 name: Test Suite27 runs-on: ubuntu-latest28 steps:29 - name: Checkout sources30 uses: actions/checkout@v23132 - name: Install stable toolchain33 uses: actions-rs/toolchain@v134 with:35 profile: minimal36 toolchain: stable37 override: true3839 - name: Run cargo test40 uses: actions-rs/cargo@v141 with:42 command: test4344 lints:45 name: Lints46 runs-on: ubuntu-latest47 steps:48 - name: Checkout sources49 uses: actions/checkout@v25051 - name: Install stable toolchain52 uses: actions-rs/toolchain@v153 with:54 profile: minimal55 toolchain: stable56 override: true57 components: rustfmt, clippy5859 - name: Run cargo fmt60 uses: actions-rs/cargo@v161 with:62 command: fmt63 args: --all -- --check6465 - name: Run cargo clippy66 uses: actions-rs/cargo@v167 with:68 command: clippy69 args: -- -D warnings1on: [push, pull_request]23name: Misc lints45jobs:6 check:7 name: Check8 runs-on: ubuntu-latest9 steps:10 - name: Checkout sources11 uses: actions/checkout@v21213 - name: Install stable toolchain14 uses: actions-rs/toolchain@v115 with:16 profile: minimal17 toolchain: stable18 override: true1920 - name: Run cargo check21 uses: actions-rs/cargo@v122 with:23 command: check2425 test:26 name: Test Suite27 runs-on: ubuntu-latest28 steps:29 - name: Checkout sources30 uses: actions/checkout@v23132 - name: Install stable toolchain33 uses: actions-rs/toolchain@v134 with:35 profile: minimal36 toolchain: stable37 override: true3839 - name: Run cargo test40 uses: actions-rs/cargo@v141 with:42 command: test4344 lints:45 name: Lints46 runs-on: ubuntu-latest47 steps:48 - name: Checkout sources49 uses: actions/checkout@v25051 - name: Install stable toolchain52 uses: actions-rs/toolchain@v153 with:54 profile: minimal55 toolchain: stable56 override: true57 components: rustfmt, clippy5859 - name: Run cargo fmt60 uses: actions-rs/cargo@v161 with:62 command: fmt63 args: --all -- --check6465 - name: Run cargo clippy66 uses: actions-rs/cargo@v167 with:68 command: clippy69 args: -- -D warnings.github/workflows/release.ymldiffbeforeafterboth--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,75 @@
+name: CI
+
+on: [push]
+
+jobs:
+ test:
+ name: Test Suite
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout sources
+ uses: actions/checkout@v2
+ - name: Install stable toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ override: true
+ - name: Run tests
+ uses: actions-rs/cargo@v1
+ with:
+ command: test
+ args: --all
+ release:
+ if: startsWith(github.ref, 'refs/tags/')
+ needs: [test]
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macOS-latest, windows-latest]
+ include:
+ - os: ubuntu-latest
+ rust: stable
+ target: x86_64-unknown-linux-musl
+ bin: jrsonnet
+ name: jrsonnet-linux-amd64
+ - os: windows-latest
+ rust: stable
+ target: x86_64-pc-windows-msvc
+ bin: jrsonnet.exe
+ name: jrsonnet-windows-amd64.exe
+ - os: macOS-latest
+ rust: stable
+ target: x86_64-apple-darwin
+ bin: jrsonnet
+ name: jrsonnet-darwin-amd64
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: Install stable toolchain
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: ${{ matrix.rust }}
+ override: true
+ target: ${{ matrix.target }}
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Run build
+ uses: actions-rs/cargo@v1
+ with:
+ command: build
+ args: --bin=jrsonnet --release --target ${{ matrix.target }}
+ - name: Package
+ shell: bash
+ run: |
+ strip target/${{ matrix.target }}/release/${{ matrix.bin }}
+ cd target/${{ matrix.target }}/release
+
+ cp ${{ matrix.bin }} ../../../${{ matrix.name }}
+ cd -
+ - name: Generate SHA-256
+ run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256
+ - name: Publish
+ uses: softprops/action-gh-release@v1
+ with:
+ draft: true
+ files: "jrsonnet*"
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}