Add target to make file, update wordlist #289
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: Test | |
on: | |
push: | |
tags: | |
- v* | |
branches: ["main"] | |
pull_request: | |
branches: ["main"] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
benchmark: | |
name: Benchmark | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install Rust stable | |
uses: dtolnay/rust-toolchain@stable | |
- name: Build | |
run: cargo build --release | |
- name: Run benchmark | |
run: ./target/release/codebook --benchmark | |
test: | |
name: Test | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install Rust stable | |
uses: dtolnay/rust-toolchain@stable | |
- name: Build | |
run: cargo build | |
- name: Run tests | |
run: cargo test | |
integration_test: | |
name: Integration Test | |
runs-on: ubuntu-latest | |
steps: | |
8521 | - uses: actions/checkout@v4 |
- name: install Rust stable | |
uses: dtolnay/rust-toolchain@stable | |
- name: Setup Bun | |
uses: oven-sh/setup-bun@v1 | |
- name: Run integration tests | |
run: make integration_test | |
build: | |
name: Build ${{ matrix.platform.project }} - ${{ matrix.platform.release_for }} | |
if: github.event.pull_request.draft == false | |
strategy: | |
matrix: | |
platform: | |
- release_for: Windows-x86_64 | |
os: windows-latest | |
target: x86_64-pc-windows-msvc | |
project: codebook-lsp | |
bin: codebook-lsp.exe | |
name: codebook-lsp-x86_64-pc-windows-msvc.zip | |
command: build | |
- release_for: macOS-x86_64 | |
os: macOS-latest | |
target: x86_64-apple-darwin | |
project: codebook-lsp | |
bin: codebook-lsp | |
name: codebook-lsp-x86_64-apple-darwin.tar.gz | |
command: build | |
- release_for: macOS-aarch64 | |
os: macOS-latest | |
target: aarch64-apple-darwin | |
project: codebook-lsp | |
bin: codebook-lsp | |
name: codebook-lsp-aarch64-apple-darwin.tar.gz | |
command: build | |
- release_for: Linux-x86_64-Musl | |
os: ubuntu-latest | |
target: x86_64-unknown-linux-musl | |
project: codebook-lsp | |
bin: codebook-lsp | |
name: codebook-lsp-x86_64-unknown-linux-musl.tar.gz | |
command: build | |
- release_for: Linux-aarch64-Musl | |
os: ubuntu-latest | |
target: aarch64-unknown-linux-musl | |
project: codebook-lsp | |
bin: codebook-lsp | |
name: codebook-lsp-aarch64-unknown-linux-musl.tar.gz | |
command: build | |
runs-on: ${{ matrix.platform.os }} | |
steps: | |
- name: Disable Defender Real-time Monitoring | |
if: matrix.platform.os == 'windows-latest' | |
shell: powershell | |
run: | | |
Set-MpPreference -DisableRealtimeMonitoring $true | |
Write-Host "Disabled Defender Real-time Monitoring" | |
- name: Setup Cargo home directory on D drive | |
if: matrix.platform.os == 'windows-latest' | |
shell: powershell | |
run: | | |
# Create directory on D drive if it doesn't exist | |
New-Item -ItemType Directory -Force -Path "D:\cargo_home" | |
# Set CARGO_HOME for subsequent steps | |
echo "CARGO_HOME=D:\cargo_home" >> $env:GITHUB_ENV | |
Write-Host "Set CARGO_HOME to D:\cargo_home" | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build binary | |
uses: houseabsolute/actions-rust-cross@v1 | |
with: | |
command: ${{ matrix.platform.command }} | |
target: ${{ matrix.platform.target }} | |
args: "--locked --release --bin ${{ matrix.platform.project }}" | |
- name: Package as archive | |
shell: bash | |
run: | | |
cd target/${{ matrix.platform.target }}/release | |
if [[ "${{ matrix.platform.os }}" == "windows-latest" ]]; then | |
7z a ../../../${{ matrix.platform.name }} ${{ matrix.platform.bin }} | |
else | |
tar czvf ../../../${{ matrix.platform.name }} ${{ matrix.platform.bin }} | |
fi | |
cd - | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.platform.bin }}-${{ matrix.platform.target }} | |
path: ${{ matrix.platform.name }} | |
release: | |
name: Release | |
permissions: | |
contents: write | |
needs: | |
- build | |
- test | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: codebook-lsp* | |
- name: Make release | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: codebook-lsp*/* | |
prerelease: true | |
generate_release_notes: true | |
draft: false | |
append_body: true | |
body: | | |
See [changelog](https://github.com/blopker/codebook/blob/main/CHANGELOG.md) for details. |