git.delta.rocks / jrsonnet / refs/commits / bcbd39795a2d

difftreelog

ci add release

Lach2020-08-25parent: #c49885a.patch.diff
in: master

2 files changed

modified.github/workflows/lints.ymldiffbeforeafterboth
before · .github/workflows/lints.yml
1on: [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 warnings
after · .github/workflows/lints.yml
1on: [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
added.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 }}