aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/.github/workflows/release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/release.yml')
-rw-r--r--.github/workflows/release.yml126
1 files changed, 126 insertions, 0 deletions
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..4043a3c
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,126 @@
+name: Release
+
+on:
+ push:
+ tags:
+ - 'v*.*.*'
+
+jobs:
+ build:
+ runs-on: ${{ matrix.os }}
+ strategy:
+ matrix:
+ os: [ubuntu-latest, macos-latest, windows-latest]
+ include:
+ - os: ubuntu-latest
+ target: x86_64-unknown-linux-gnu
+ - os: macos-latest
+ target: x86_64-apple-darwin
+ - os: windows-latest
+ target: x86_64-pc-windows-msvc
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@v3
+
+ - name: Set up Rust
+ uses: actions-rs/toolchain@v1
+ with:
+ toolchain: stable
+ target: ${{ matrix.target }}
+ override: true
+
+ - name: Install dependencies
+ run: sudo apt-get install -y libgtk-3-dev
+ if: matrix.os == 'ubuntu-latest'
+
+ - name: Build
+ run: cargo build --release --target ${{ matrix.target }}
+
+ - name: Upload artifact
+ uses: actions/upload-artifact@v3
+ with:
+ name: dropout-${{ matrix.target }}
+ path: target/${{ matrix.target }}/release/dropout*
+
+ release:
+ needs: build
+ runs-on: ubuntu-latest
+ steps:
+ - name: Download artifacts
+ uses: actions/download-artifact@v3
+ with:
+ name: dropout-x86_64-unknown-linux-gnu
+ path: ./artifacts/linux
+ - uses: actions/download-artifact@v3
+ with:
+ name: dropout-x86_64-apple-darwin
+ path: ./artifacts/macos
+ - uses: actions/download-artifact@v3
+ with:
+ name: dropout-x86_64-pc-windows-msvc
+ path: ./artifacts/windows
+
+ - name: Create Release
+ id: create_release
+ uses: actions/create-release@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ tag_name: ${{ github.ref }}
+ release_name: Release ${{ github.ref }}
+ body: |
+ ## DropOut - NextGeneration Minecraft Launcher
+
+ **现代UI**: DropOut 拥有现代且简洁的用户界面,易于使用。
+ **快速**: DropOut 设计为快速且高效。
+ **跨平台**: DropOut 设计为在 Windows、macOS 和 Linux 上运行。
+ **纯 Rust**: DropOut 完全用 Rust 编写。
+ **开源**: DropOut 是开源的,欢迎贡献。
+ **可定制**: DropOut 高度可定制。
+ **安全**: DropOut 设计为安全。
+ **无广告**: DropOut 是免费的开源软件,永远不会有广告。
+ **无跟踪**: DropOut 不会跟踪你。
+
+ ### 安装
+
+ 你可以从 [Releases](https://github.com/HsiangNianian/DropOut/releases) 页面下载 DropOut 的最新版本,或者你可以从源码构建:
+
+ ```bash
+ git clone https://github.com/HsiangNianian/DropOut
+ cd DropOut
+ cargo build --release
+ ```
+
+ draft: false
+ prerelease: false
+
+ - name: Upload Linux binary
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ asset_path: ./artifacts/linux/dropout
+ asset_name: dropout-linux
+ asset_content_type: application/octet-stream
+
+ - name: Upload macOS binary
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ asset_path: ./artifacts/macos/dropout
+ asset_name: dropout-macos
+ asset_content_type: application/octet-stream
+
+ - name: Upload Windows binary
+ uses: actions/upload-release-asset@v1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ upload_url: ${{ steps.create_release.outputs.upload_url }}
+ asset_path: ./artifacts/windows/dropout.exe
+ asset_name: dropout-windows.exe
+ asset_content_type: application/octet-stream \ No newline at end of file