summaryrefslogtreecommitdiffstats
path: root/.github/workflows/CICD.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/CICD.yml')
-rw-r--r--.github/workflows/CICD.yml44
1 files changed, 44 insertions, 0 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 }}