Skip to content

docs: update documents #668

docs: update documents

docs: update documents #668

Workflow file for this run

name: "publish"
on:
push:
# tags: ["v[0-9]+.[0-9]+.[0-9]+*"]
branches: [main]
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
CARGO_TERM_COLOR: always
jobs:
linux:
runs-on: ubuntu-20.04
strategy:
matrix:
toolchain: [stable]
services:
etcd:
image: quay.io/coreos/etcd:v3.5.5
env:
ETCD_ADVERTISE_CLIENT_URLS: http://0.0.0.0:2379
ETCD_LISTEN_CLIENT_URLS: http://0.0.0.0:2379
ports:
- 2379:2379
steps:
- uses: actions/checkout@v4
- name: setup node
uses: actions/setup-node@v4
- name: build-web
run: make build-web
- name: Install build dependencies
run: |
sudo apt update
sudo apt install -y cmake libclang-dev wget gnupg ca-certificates lsb-release --no-install-recommends protobuf-compiler
- name: Install toolchain
uses: dtolnay/rust-toolchain@master
with:
toolchain: ${{ matrix.toolchain }}
components: rustfmt, clippy
- name: Run cargo fmt
run: cargo fmt --all -- --check
- name: Run cargo clippy
run: |
cargo install typos-cli
make lint
make lint-full
- name: Run cargo test
run: make test
- name: Run cargo msrv
run: |
cargo install cargo-msrv --version 0.16.3
cargo msrv list
- name: Run cargo cov
run: |
cargo install cargo-llvm-cov
cargo llvm-cov
- name: Run cargo release
run: |
make release-all
ldd target/release/pingap
# windows:
# runs-on: windows-latest
# name: ${{ matrix.target }}
# env:
# CFG_RELEASE_CHANNEL: ${{ matrix.cfg_release_channel }}
# strategy:
# # https://help.github.com/en/actions/getting-started-with-github-actions/about-github-actions#usage-limits
# # There's a limit of 60 concurrent jobs across all repos in the rust-lang organization.
# # In order to prevent overusing too much of that 60 limit, we throttle the
# # number of rustfmt jobs that will run concurrently.
# matrix:
# target: [x86_64-pc-windows-msvc]
# steps:
# # The Windows runners have autocrlf enabled by default
# # which causes failures for some of rustfmt's line-ending sensitive tests
# - name: disable git eol translation
# run: git config --global core.autocrlf false
# - uses: actions/checkout@v4
# - name: setup node
# uses: actions/setup-node@v4
# - name: build-web
# run: make build-web
# # Run build
# - name: Install Rustup using win.rustup.rs
# run: |
# # Disable the download progress bar which can cause perf issues
# $ProgressPreference = "SilentlyContinue"
# Invoke-WebRequest https://win.rustup.rs/ -OutFile rustup-init.exe
# .\rustup-init.exe -y --default-host=x86_64-pc-windows-msvc --default-toolchain=none
# del rustup-init.exe
# rustup target add ${{ matrix.target }}
# shell: powershell
# - name: Add mingw64 to path for x86_64-gnu
# run: echo "C:\msys64\mingw64\bin" >> $GITHUB_PATH
# if: matrix.target == 'x86_64-pc-windows-gnu' && matrix.channel == 'nightly'
# shell: bash
# - name: Install Protoc
# uses: arduino/setup-protoc@v3
# with:
# repo-token: ${{ secrets.GITHUB_TOKEN }}
# - name: Set Perl environment variables
# if: runner.os == 'Windows'
# run: |
# echo "PERL=$((where.exe perl)[0])" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
# echo "OPENSSL_SRC_PERL=$((where.exe perl)[0])" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
# - name: Run cargo release
# shell: bash
# run: |
# cargo --version
# cargo build --release --features=full
# ls -lh target/release
docker:
runs-on: ubuntu-latest
timeout-minutes: 3600
steps:
- name: Change Swap Space
run: |
swapon --show=NAME | tail -n 1
df -lh
du -sh /usr/local/lib/android
sudo rm -rf /usr/local/lib/android
export SWAP_FILE=$(swapon --show=NAME | tail -n 1)
sudo swapoff $SWAP_FILE
sudo rm $SWAP_FILE
export SWAP_FILE=/swapfile
sudo fallocate -l 16G $SWAP_FILE
sudo chmod 600 $SWAP_FILE
sudo mkswap $SWAP_FILE
sudo swapon $SWAP_FILE
- name: Swap space report after modification
shell: bash
run: |
echo "Memory and swap:"
free -h
echo
swapon --show
df -lh
echo
- name: Checkout
uses: actions/checkout@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
vicanso/pingap
tags: |
type=raw,value=latest
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
platforms: linux/amd64, linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
- name: Image digest
run: |
echo ${{ steps.docker_build.outputs.digest }}