diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..f187c72 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,128 @@ +name: Rust + +on: + push: + tags: + - 'release/*' + +jobs: + linux-x86_64: + name: Linux x86_64 + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: x86_64-unknown-linux-musl + override: true + - run: cargo build --all-features --release && mkdir -p rstun-linux-x86_64 + && mv target/release/rstunc ./rstun-linux-x86_64/ + && mv target/release/rstund ./rstun-linux-x86_64/ + && tar zcf rstun-linux-x86_64.tar.gz ./rstun-linux-x86_64/* + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + rstun-linux-x86_64.tar.gz + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + darwin-x86_64: + name: Darwin x86_64 + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: x86_64-apple-darwin + override: true + - run: cargo build --all-features --release && mkdir -p rstun-darwin-x86_64 + && mv target/release/rstunc ./rstun-darwin-x86_64/ + && mv target/release/rstund ./rstun-darwin-x86_64/ + && zip rstun-darwin-x86_64.zip ./rstun-darwin-x86_64/* + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + rstun-darwin-x86_64.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + darwin-aarch64: + name: Darwin Aarch64 + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: aarch64-apple-darwin + override: true + - run: rustup target add aarch64-apple-darwin && cargo build --all-features --release --target aarch64-apple-darwin + && mkdir -p rstun-darwin-aarch64 + && mv target/aarch64-apple-darwin/release/rstunc ./rstun-darwin-aarch64/ + && mv target/aarch64-apple-darwin/release/rstund ./rstun-darwin-aarch64/ + && zip rstun-darwin-aarch64.zip ./rstun-darwin-aarch64/* + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + rstun-darwin-aarch64.zip + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + linux-armv7: + name: Linux ARMv7 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: armv7-unknown-linux-gnueabihf + override: true + - run: rustup target add armv7-unknown-linux-gnueabihf && cargo install cross --git https://github.com/cross-rs/cross + && cross build --all-features --release --target armv7-unknown-linux-gnueabihf + && mkdir -p rstun-linux-armv7 + && mv target/armv7-unknown-linux-gnueabihf/release/rstunc ./rstun-linux-armv7/ + && mv target/armv7-unknown-linux-gnueabihf/release/rstund ./rstun-linux-armv7/ + && tar zcf rstun-linux-armv7.tar.gz ./rstun-linux-armv7/* + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + rstun-linux-armv7.tar.gz + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + linux-aarch64: + name: Linux Aarch64 + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions-rs/toolchain@v1 + with: + toolchain: stable + target: aarch64-unknown-linux-gnu + override: true + - run: rustup target add aarch64-unknown-linux-gnu && cargo install cross --git https://github.com/cross-rs/cross + && cross build --all-features --release --target aarch64-unknown-linux-gnu + && mkdir -p rstun-linux-aarch64 + && mv target/aarch64-unknown-linux-gnu/release/rstunc ./rstun-linux-aarch64/ + && mv target/aarch64-unknown-linux-gnu/release/rstund ./rstun-linux-aarch64/ + && tar zcf rstun-linux-aarch64.tar.gz ./rstun-linux-aarch64/* + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + files: | + rstun-linux-aarch64.tar.gz + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +