aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/build.yml182
-rw-r--r--.github/workflows/ci.yml24
-rw-r--r--.github/workflows/release.yml1
3 files changed, 0 insertions, 207 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
deleted file mode 100644
index 788f7e8..0000000
--- a/.github/workflows/build.yml
+++ /dev/null
@@ -1,182 +0,0 @@
-name: Build and Release
-
-on:
- push:
- branches: [ main, master ]
- tags: [ 'v*' ]
- pull_request:
- branches: [ main, master ]
-
-env:
- CARGO_TERM_COLOR: always
-
-jobs:
- build:
- name: Build ${{ matrix.target }}
- runs-on: ${{ matrix.os }}
- strategy:
- fail-fast: false
- matrix:
- include:
- # Windows
- - target: x86_64-pc-windows-msvc
- os: windows-latest
- ext: .exe
- name: mikusays-windows-x64.exe
- - target: i686-pc-windows-msvc
- os: windows-latest
- ext: .exe
- name: mikusays-windows-x86.exe
- - target: aarch64-pc-windows-msvc
- os: windows-latest
- ext: .exe
- name: mikusays-windows-arm64.exe
-
- # Linux
- - target: x86_64-unknown-linux-gnu
- os: ubuntu-latest
- ext: ""
- name: mikusays-linux-x64
- - target: i686-unknown-linux-gnu
- os: ubuntu-latest
- ext: ""
- name: mikusays-linux-x86
- - target: aarch64-unknown-linux-gnu
- os: ubuntu-latest
- ext: ""
- name: mikusays-linux-arm64
- - target: armv7-unknown-linux-gnueabihf
- os: ubuntu-latest
- ext: ""
- name: mikusays-linux-armv7
-
- # macOS
- - target: x86_64-apple-darwin
- os: macos-latest
- ext: ""
- name: mikusays-macos-x64
- - target: aarch64-apple-darwin
- os: macos-latest
- ext: ""
- name: mikusays-macos-arm64
-
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Install Rust
- uses: dtolnay/rust-toolchain@stable
- with:
- targets: ${{ matrix.target }}
-
- - name: Install cross-compilation tools (Linux)
- if: matrix.os == 'ubuntu-latest'
- run: |
- sudo apt-get update
- sudo apt-get install -y gcc-multilib
- if [[ "${{ matrix.target }}" == "aarch64-unknown-linux-gnu" ]]; then
- sudo apt-get install -y gcc-aarch64-linux-gnu
- fi
- if [[ "${{ matrix.target }}" == "armv7-unknown-linux-gnueabihf" ]]; then
- sudo apt-get install -y gcc-arm-linux-gnueabihf
- fi
- if [[ "${{ matrix.target }}" == "i686-unknown-linux-gnu" ]]; then
- sudo apt-get install -y gcc-multilib
- fi
-
- - name: Cache cargo registry
- uses: actions/cache@v3
- with:
- path: ~/.cargo/registry
- key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
-
- - name: Cache cargo index
- uses: actions/cache@v3
- with:
- path: ~/.cargo/git
- key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
-
- - name: Cache cargo build
- uses: actions/cache@v3
- with:
- path: target
- key: ${{ runner.os }}-cargo-build-target-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
-
- - name: Configure cross-compilation environment
- shell: bash
- run: |
- case "${{ matrix.target }}" in
- aarch64-unknown-linux-gnu)
- echo "CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
- ;;
- armv7-unknown-linux-gnueabihf)
- echo "CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc" >> $GITHUB_ENV
- ;;
- esac
-
- - name: Build
- run: cargo build --release --target ${{ matrix.target }}
-
- - name: Strip binary (Unix)
- if: matrix.os != 'windows-latest'
- run: |
- case "${{ matrix.target }}" in
- aarch64-unknown-linux-gnu)
- aarch64-linux-gnu-strip target/${{ matrix.target }}/release/mikusays
- ;;
- armv7-unknown-linux-gnueabihf)
- arm-linux-gnueabihf-strip target/${{ matrix.target }}/release/mikusays
- ;;
- *)
- strip target/${{ matrix.target }}/release/mikusays
- ;;
- esac
-
- - name: Prepare artifact
- shell: bash
- run: |
- mkdir -p artifacts
- if [[ "${{ matrix.os }}" == "windows-latest" ]]; then
- cp target/${{ matrix.target }}/release/mikusays.exe artifacts/${{ matrix.name }}
- else
- cp target/${{ matrix.target }}/release/mikusays artifacts/${{ matrix.name }}
- fi
-
- - name: Upload artifact
- uses: actions/upload-artifact@v3
- with:
- name: ${{ matrix.name }}
- path: artifacts/${{ matrix.name }}
-
- release:
- name: Create Release
- runs-on: ubuntu-latest
- needs: build
- if: startsWith(github.ref, 'refs/tags/')
- steps:
- - name: Checkout code
- uses: actions/checkout@v4
-
- - name: Download all artifacts
- uses: actions/download-artifact@v3
- with:
- path: artifacts
-
- - name: Prepare release assets
- run: |
- mkdir -p release-assets
- find artifacts -type f -executable -o -name "*.exe" | while read file; do
- cp "$file" release-assets/
- done
- # List files for debugging
- ls -la release-assets/
-
- - name: Create Release
- uses: softprops/action-gh-release@v1
- with:
- files: release-assets/*
- draft: false
- prerelease: false
- generate_release_notes: true
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2267a00..3fdb6cc 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -30,27 +30,3 @@ jobs:
- name: Build
run: cargo build --verbose
-
- build-check:
- name: Build Check (${{ matrix.os }})
- runs-on: ${{ matrix.os }}
- strategy:
- matrix:
- os: [ubuntu-latest, windows-latest, macos-latest]
- steps:
- - uses: actions/checkout@v4
-
- - name: Install Rust
- uses: dtolnay/rust-toolchain@stable
-
- - name: Build
- run: cargo build --release
-
- - name: Test run
- shell: bash
- run: |
- if [[ "${{ matrix.os }}" == "windows-latest" ]]; then
- ./target/release/mikusays.exe "CI Test on ${{ matrix.os }}"
- else
- ./target/release/mikusays "CI Test on ${{ matrix.os }}"
- fi
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 41f95c7..5d118a1 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -2,7 +2,6 @@ name: Cross-platform Build
on:
push:
- branches: [ main, master ]
tags: [ 'v*' ]
workflow_dispatch: