summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWei Zhang <kweizh@gmail.com>2024-02-16 14:17:13 +0800
committerGitHub <noreply@github.com>2024-02-16 14:17:13 +0800
commit41893ae91865e62bf1314f1ced8f9cb597fabdcd (patch)
tree9f3211158a53e76ce398bfa660f8ba2c1e6e2f4e
parentb4d446284049a5f6fd6f5717196f92663cdf6f2a (diff)
🛤️ ✨: add loongarch ci and releases (#990)
Signed-off-by: Wei Zhang <kweizh@gmail.com>
-rw-r--r--.github/workflows/CICD.yml44
-rw-r--r--src/meta/filetype.rs2
2 files changed, 45 insertions, 1 deletions
diff --git a/.github/workflows/CICD.yml b/.github/workflows/CICD.yml
index f2b4aed..d2271eb 100644
--- a/.github/workflows/CICD.yml
+++ b/.github/workflows/CICD.yml
@@ -279,6 +279,50 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ container_build:
+ name: Container Build
+ runs-on: ${{ matrix.job.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ job:
+ - { os: ubuntu-latest, target: loongarch64-unknown-linux-gnu, platform: loong64 }
+ steps:
+ - uses: actions/checkout@v1
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v3
+ with:
+ image: tonistiigi/binfmt:master
+ - name: Containerized Build
+ # containerized build is slow, but easy to setup and cross compile
+ # currently only used for:
+ # - loongarch64
+ #
+ # tests should be done previously
+ shell: bash
+ run: |
+ docker run --platform linux/${{ matrix.job.platform }} \
+ -v `pwd`:/src \
+ kweizh/loongarch-rust:v0.1.0 \
+ build --release --target ${{ matrix.job.target }}
+
+ # determine EXE suffix
+ EXE_suffix="" ; case ${{ matrix.job.target }} in *-pc-windows-*) EXE_suffix=".exe" ;; esac;
+ echo "EXE_suffix=${EXE_suffix}" >> $GITHUB_OUTPUT
+ - name: Archive executable artifacts
+ uses: actions/upload-artifact@master
+ with:
+ name: ${{ env.PROJECT_NAME }}-${{ matrix.job.target }}
+ path: target/${{ matrix.job.target }}/release/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}
+ - name: Release
+ uses: softprops/action-gh-release@v1
+ if: startsWith(github.ref, 'refs/tags/')
+ with:
+ files: |
+ target/${{ matrix.job.target }}/release/${{ env.PROJECT_NAME }}${{ steps.vars.outputs.EXE_suffix }}
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
coverage:
name: Code Coverage
runs-on: ${{ matrix.job.os }}
diff --git a/src/meta/filetype.rs b/src/meta/filetype.rs
index 173331d..07ca8ab 100644
--- a/src/meta/filetype.rs
+++ b/src/meta/filetype.rs
@@ -16,7 +16,7 @@ pub enum FileType {
impl FileType {
#[cfg(windows)]
- const EXECUTABLE_EXTENSIONS: &[&'static str] = &["exe", "msi", "bat", "ps1"];
+ const EXECUTABLE_EXTENSIONS: &'static [&'static str] = &["exe", "msi", "bat", "ps1"];
#[cfg(unix)]
pub fn new(