Skip to content

chore(deps): bump clap from 4.5.16 to 4.5.17 #296

chore(deps): bump clap from 4.5.16 to 4.5.17

chore(deps): bump clap from 4.5.16 to 4.5.17 #296

Workflow file for this run

name: Continuous Integration
on:
pull_request:
push:
branches: [master]
env:
# Because matklad said so https://matklad.github.io/2021/09/04/fast-rust-builds.html
CARGO_INCREMENTAL: 0
jobs:
ci:
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'ci skip')"
steps:
- name: Checkout sources
uses: actions/checkout@v3
- name: Set up Rust cache
uses: actions/cache@v3
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
key: dns-thingy-ci
- uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- uses: cachix/cachix-action@v12
with:
name: maximumstock
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- name: Compile
run: nix-shell ci.nix --command "cargo test --no-run --locked"
- name: Test
run: nix-shell ci.nix --command "cargo test -- --nocapture --quiet"
- name: Format
run: nix-shell ci.nix --command "cargo fmt --all -- --check"
- name: Lint
run: nix-shell ci.nix --command "cargo clippy -- -D warnings"
- name: Build Release
run: nix-shell ci.nix --command "cargo build --release"
- name: Package Release Artifact
run: |
mkdir releases
cp target/release/dns-block releases/dns-block
cp target/release/dns-block-threaded releases/dns-block-threaded
cp target/release/dns-block-tokio releases/dns-block-tokio
strip releases/*
- name: Upload Release Artifact
uses: actions/upload-artifact@v3
with:
name: releases
path: releases
dependabot-auto-merge:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
needs: ci
if: github.actor == 'dependabot[bot]'
steps:
- name: Dependabot metadata
id: metadata
uses: dependabot/fetch-metadata@v1
with:
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Enable auto-merge for Dependabot PRs
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GH_TOKEN: ${{secrets.GITHUB_TOKEN}}
docker-build:
needs: ci
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, 'docker skip') && github.ref_name == 'master'"
steps:
- uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build Docker Image
id: docker_build_image
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
push: true
cache-from: type=gha
cache-to: type=gha,mode=max
tags: maximumstock2/dns-thingy:latest
benchmark:
needs: ci
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message,'bench skip')"
steps:
- uses: actions/checkout@v3
- uses: cachix/install-nix-action@v20
with:
nix_path: nixpkgs=channel:nixos-unstable
extra_nix_config: |
access-tokens = github.com=${{ secrets.GITHUB_TOKEN }}
- uses: cachix/cachix-action@v12
with:
name: maximumstock
authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}"
- uses: actions/download-artifact@v3
id: download
with:
name: releases
path: releases
- name: Run Benchmarks
run: |
chmod +x releases/dns-block*
nix-shell ci.nix --command "./benchmarks/run.sh"
- name: Upload Results
uses: actions/upload-artifact@v3
with:
name: benchmark-results
path: benchmarks
benchmark-annotate-pr:
permissions:
actions: write
issues: write
pull-requests: write
needs: benchmark
runs-on: ubuntu-latest
if: github.ref_name != 'master'
env:
GH_TOKEN: ${{ github.token }}
BRANCH: ${{ github.head_ref }}
steps:
- uses: actions/checkout@v3
- name: Annotate PR with benchmark artifact links
run: |
chmod +x scripts/annotate-pr-benchmark-link.sh
./scripts/annotate-pr-benchmark-link.sh $GITHUB_HEAD_REF