Skip to content

test: add test for basic auth plugin #583

test: add test for basic auth plugin

test: add test for basic auth plugin #583

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: |
make lint
make lint-full
- name: Run cargo test
run: make test
- name: Run cargo msrv
run: |
cargo install cargo-msrv --version 0.16.2
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 }}