fix(fuse,vfs): align FUSE cache, mount, and fallocate semantics (#1968) #1994
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Test x86_64 | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: ["master", "feat-*", "fix-*"] | |
| pull_request: | |
| branches: ["master", "feat-*", "fix-*"] | |
| env: | |
| ARCH: x86_64 | |
| HOME: /root | |
| RUSTUP_DIST_SERVER: "https://rsproxy.cn" | |
| RUSTUP_UPDATE_ROOT: "https://rsproxy.cn/rustup" | |
| jobs: | |
| integration-test: | |
| name: Integration Test | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| container: | |
| image: dragonos/dragonos-dev:v1.23 | |
| options: --privileged -v /dev:/dev | |
| steps: | |
| - name: Checkout DragonOS code | |
| uses: actions/checkout@v4 | |
| - name: Change source | |
| run: | | |
| find . -type f \( -name "*.toml" -o -name "Makefile" \) -exec sed -i 's/git\.mirrors\.dragonos\.org\.cn/github\.com/g' {} + | |
| - name: Build DragonOS | |
| shell: bash -ileo pipefail {0} | |
| run: | | |
| make clean | |
| make -j$(nproc) all | |
| - name: Run syscall test | |
| id: test-syscall | |
| shell: bash -ileo pipefail {0} | |
| env: | |
| DISK_SAVE_MODE: "1" | |
| run: | | |
| make test-syscall | |
| - name: Upload test results | |
| if: always() && github.repository == 'DragonOS-Community/DragonOS' | |
| shell: bash -ileo pipefail {0} | |
| env: | |
| API_KEY: ${{ secrets.CI_DASHBOARD_UPLOAD_API_KEY }} | |
| run: | | |
| # 更新包列表并安装pip | |
| apt-get update | |
| apt-get install -y python3-pip python3-venv | |
| # 创建虚拟环境(可选,但更安全) | |
| python3 -m venv /tmp/venv | |
| source /tmp/venv/bin/activate | |
| # 升级pip | |
| pip install --upgrade pip | |
| # 安装Python依赖 | |
| pip install -r tools/test-upload/requirements.txt | |
| # 设置变量 | |
| BRANCH_NAME="${{ github.ref_name }}" | |
| COMMIT_ID="${{ github.sha }}" | |
| API_URL="https://ci-dashboard.dragonos.org/api/v1" | |
| # 如果是PR,使用PR的分支名 | |
| if [ "${{ github.event_name }}" == "pull_request" ]; then | |
| BRANCH_NAME="${{ github.head_ref }}" | |
| fi | |
| # 检查日志文件是否存在 | |
| if [ ! -f "serial_opt.txt" ]; then | |
| echo "警告: serial_opt.txt文件不存在,跳过上传" | |
| exit 0 | |
| fi | |
| # 检查API_KEY是否存在,如果不存在则使用dry-run模式 | |
| if [ -z "$API_KEY" ]; then | |
| echo "警告: CI_DASHBOARD_UPLOAD_API_KEY secret未设置,使用dry-run模式" | |
| python3 tools/test-upload/parse_and_upload.py \ | |
| serial_opt.txt \ | |
| "$API_URL" \ | |
| --branch "$BRANCH_NAME" \ | |
| --commit "$COMMIT_ID" \ | |
| --test-type "gvisor" \ | |
| --dry-run | |
| else | |
| # 上传测试结果 | |
| python3 tools/test-upload/parse_and_upload.py \ | |
| serial_opt.txt \ | |
| "$API_URL" \ | |
| --branch "$BRANCH_NAME" \ | |
| --commit "$COMMIT_ID" \ | |
| --test-type "gvisor" | |
| fi |