feat(whois): add RIPE NCC WHOIS query support with flag #116
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: Build WHOIS Server | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| # Allow manual triggering of the workflow | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| name: Build on ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, ubuntu-24.04] | |
| include: | |
| - os: ubuntu-22.04 | |
| artifact-name: whois-server-ubuntu-22.04 | |
| - os: ubuntu-24.04 | |
| artifact-name: whois-server-ubuntu-24.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup Rust | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| override: true | |
| components: rustfmt, clippy | |
| - name: Cache Rust dependencies | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| ~/.cargo/bin/ | |
| ~/.cargo/registry/index/ | |
| ~/.cargo/registry/cache/ | |
| ~/.cargo/git/db/ | |
| target/ | |
| key: ${{ matrix.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ matrix.os }}-cargo- | |
| - name: Install Lua | |
| run: | | |
| sudo apt-get update | |
| sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \ | |
| lua5.4 liblua5.4-dev pkg-config build-essential | |
| lua -v || true | |
| - name: Build | |
| run: cargo build --release | |
| - name: Create artifacts directory | |
| run: | | |
| mkdir -p artifacts | |
| cp target/release/whois-server artifacts/ | |
| cp README.md LICENSE.txt artifacts/ | |
| # Include Python source code for Pixiv integration | |
| cp -r src/services/pixiv artifacts/pixiv | |
| cp requirements.txt artifacts/ || echo "No requirements.txt found" | |
| tar -czf ${{ matrix.artifact-name }}.tar.gz -C artifacts . | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.artifact-name }} | |
| path: ${{ matrix.artifact-name }}.tar.gz | |
| retention-days: 7 |