fix(io-uring): Data inconsistency due to hanging pointer of written bytes #665
Workflow file for this run
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: ReleaseBot | |
| on: | |
| push: | |
| branches: | |
| - "master" | |
| tags: | |
| - "v*.*.*" | |
| pull_request: | |
| types: [labeled, synchronize] | |
| jobs: | |
| build-and-upload: | |
| if: github.event_name != 'pull_request' || contains(github.event.pull_request.labels.*.name, 'build-artifacts') | |
| name: Build and Upload | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: macos-arm64 | |
| os: macos-latest | |
| build_command: cargo build --release --bin riffle-ctl | |
| artifact_path: target/release/riffle-ctl | |
| docker_compose: "" | |
| component: riffle-ctl | |
| # - name: linux-arm64-anolisos8 | |
| # os: ubuntu-22.04-arm | |
| # build_command: docker compose -f dev/anolisos8/arm64/docker-compose.yml up | |
| # artifact_path: target-docker/release/riffle-server | |
| # docker_compose: dev/anolisos8/arm64/docker-compose.yml | |
| # component: riffle-server | |
| - name: linux-amd64-centos7 | |
| os: ubuntu-22.04 | |
| build_command: docker compose -f dev/centos7/amd64/docker-compose.yml up | |
| artifact_path: target-docker/release/riffle-server target-docker/release/riffle-ctl | |
| docker_compose: dev/centos7/amd64/docker-compose.yml | |
| component: riffle-server | |
| - name: linux-amd64-anolisos8 | |
| os: ubuntu-22.04 | |
| build_command: docker compose -f dev/anolisos8/amd64/docker-compose.yml up | |
| artifact_path: target-docker/release/riffle-server | |
| docker_compose: dev/anolisos8/amd64/docker-compose.yml | |
| component: riffle-server | |
| steps: | |
| - name: Remove unnecessary files (Linux only) | |
| if: ${{ matrix.os == 'ubuntu-22.04' || matrix.os == 'ubuntu-22.04-arm' }} | |
| run: | | |
| sudo rm -rf /usr/share/dotnet | |
| sudo rm -rf "$AGENT_TOOLSDIRECTORY" | |
| - uses: actions/checkout@v4 | |
| - name: Sanitize ref name | |
| id: vars | |
| run: | | |
| RAW_NAME="${{ github.ref_name || github.head_ref }}" | |
| SAFE_NAME="${RAW_NAME//\//-}" | |
| echo "name=$SAFE_NAME" >> $GITHUB_OUTPUT | |
| - name: Set up cache for Cargo (macOS only) | |
| if: ${{ matrix.os == 'macos-latest' }} | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| key: cargo-cache-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| cargo-cache-${{ runner.os }}- | |
| - name: Install proto3 (macOS only) | |
| if: ${{ matrix.os == 'macos-latest' }} | |
| run: | | |
| brew install protobuf | |
| protoc --version | |
| - name: Set up Rust (macOS only) | |
| if: ${{ matrix.os == 'macos-latest' }} | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| profile: minimal | |
| toolchain: nightly-2025-06-01 | |
| override: true | |
| - name: Build | |
| run: ${{ matrix.build_command }} | |
| - name: Set component name | |
| id: component | |
| run: echo "name=${{ matrix.component }}" >> $GITHUB_OUTPUT | |
| - name: Find binaries | |
| id: find_binaries | |
| shell: bash | |
| run: | | |
| if [ -f "target-docker/release/riffle-server" ]; then | |
| echo "server_exists=true" >> $GITHUB_OUTPUT | |
| fi | |
| if [ -f "target-docker/release/riffle-ctl" ]; then | |
| echo "ctl_exists=true" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Upload riffle-server | |
| if: steps.find_binaries.outputs.server_exists == 'true' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: riffle-server-${{ matrix.name }}-${{ steps.vars.outputs.name }} | |
| path: target-docker/release/riffle-server | |
| if-no-files-found: warn | |
| - name: Upload riffle-ctl | |
| if: steps.find_binaries.outputs.ctl_exists == 'true' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: riffle-ctl-${{ matrix.name }}-${{ steps.vars.outputs.name }} | |
| path: target-docker/release/riffle-ctl | |
| if-no-files-found: warn | |
| - name: Upload each binary to release | |
| if: startsWith(github.ref, 'refs/tags/') | |
| shell: bash | |
| run: | | |
| for path in ${{ matrix.artifact_path }}; do | |
| asset_name="$(basename $path)-${{ matrix.name }}-${{ steps.vars.outputs.name }}" | |
| cp "$path" "./$asset_name" | |
| gh release upload "${{ github.ref_name }}" "./$asset_name" --repo "$GITHUB_REPOSITORY" --clobber | |
| rm "./$asset_name" | |
| done | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |