mirror of
https://github.com/Orange-OpenSource/hurl.git
synced 2024-12-23 02:52:34 +03:00
Refacto workflow scripts
This commit is contained in:
parent
ac75d2de15
commit
34075bc8a9
12
.github/workflows/check.yml
vendored
12
.github/workflows/check.yml
vendored
@ -14,7 +14,7 @@ jobs:
|
|||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
run: bin/install_rust_latest.sh
|
run: bin/install_rust_latest.sh
|
||||||
- name: Check formatting
|
- name: Check formatting
|
||||||
run: bin/rustfmt.sh
|
run: bin/check/rustfmt.sh
|
||||||
|
|
||||||
clippy:
|
clippy:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -24,7 +24,7 @@ jobs:
|
|||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
run: bin/install_rust_latest.sh
|
run: bin/install_rust_latest.sh
|
||||||
- name: Run Clippy
|
- name: Run Clippy
|
||||||
run: bin/clippy.sh
|
run: bin/check/clippy.sh
|
||||||
|
|
||||||
shellcheck:
|
shellcheck:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -32,7 +32,7 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
- name: Check Shell Scripts
|
- name: Check Shell Scripts
|
||||||
run: bin/shellcheck.sh
|
run: bin/check/shellcheck.sh
|
||||||
|
|
||||||
black:
|
black:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -42,7 +42,7 @@ jobs:
|
|||||||
- name: Install black
|
- name: Install black
|
||||||
run: pip3 install black
|
run: pip3 install black
|
||||||
- name: Check Python Scripts
|
- name: Check Python Scripts
|
||||||
run: bin/black.sh
|
run: bin/check/black.sh
|
||||||
|
|
||||||
xmllint:
|
xmllint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -52,7 +52,7 @@ jobs:
|
|||||||
- name: Install xmllint
|
- name: Install xmllint
|
||||||
run: sudo apt install -y libxml2-utils
|
run: sudo apt install -y libxml2-utils
|
||||||
- name: Check XML/HTML files
|
- name: Check XML/HTML files
|
||||||
run: bin/xmllint.sh
|
run: bin/check/xmllint.sh
|
||||||
|
|
||||||
update_crates:
|
update_crates:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@ -60,5 +60,5 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Run crates update
|
- name: Run crates update
|
||||||
run: bin/update_crates.sh --check
|
run: bin/check/update_crates.sh --check
|
||||||
|
|
||||||
|
84
.github/workflows/release.yml
vendored
84
.github/workflows/release.yml
vendored
@ -11,63 +11,23 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install Rust
|
- name: Install
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
profile: minimal
|
|
||||||
- name: Environment
|
|
||||||
run: |
|
run: |
|
||||||
uname -a
|
bin/install_prerequisites_ubuntu.sh
|
||||||
cargo --version
|
bin/install_rust_latest.sh
|
||||||
- name: set Version
|
- name: set Version
|
||||||
run: |
|
run: bin/release/version.sh
|
||||||
echo VERSION=$(grep '^version' packages/hurl/Cargo.toml | cut -f2 -d'"') >> $GITHUB_ENV
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
ci/man.sh
|
bin/release/man.sh
|
||||||
# Install libcurl dev so that hurl can be built dynamically with libcurl
|
bin/release/release.sh
|
||||||
sudo apt update
|
bin/release/create_tarball.sh linux
|
||||||
sudo apt install libcurl4-openssl-dev
|
- name: Create deb
|
||||||
ci/release.sh
|
run: bin/release/deb.sh
|
||||||
ci/create_tarball.sh linux
|
- name: Archive production artifacts (tarball)
|
||||||
- name: Archive production artifacts
|
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: release-generic-linux-x64-artifacts
|
name: release-linux-x64-artifacts
|
||||||
path: target/upload/*
|
|
||||||
|
|
||||||
release-deb-x64:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Install Rust
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
profile: minimal
|
|
||||||
- name: Environment
|
|
||||||
run: |
|
|
||||||
uname -a
|
|
||||||
cargo --version
|
|
||||||
- name: set Version
|
|
||||||
run: |
|
|
||||||
echo VERSION=$(grep '^version' packages/hurl/Cargo.toml | cut -f2 -d'"') >> $GITHUB_ENV
|
|
||||||
- name: Build
|
|
||||||
run: |
|
|
||||||
ci/man.sh
|
|
||||||
# Install libcurl dev so that hurl can be built dynamically with libcurl
|
|
||||||
sudo apt update
|
|
||||||
sudo apt install libcurl4-openssl-dev
|
|
||||||
ci/release.sh
|
|
||||||
ci/deb.sh
|
|
||||||
- name: Archive production artifacts
|
|
||||||
uses: actions/upload-artifact@v3
|
|
||||||
with:
|
|
||||||
name: release-deb-x64-artifacts
|
|
||||||
path: target/upload/*
|
path: target/upload/*
|
||||||
|
|
||||||
release-macos-x64:
|
release-macos-x64:
|
||||||
@ -76,23 +36,15 @@ jobs:
|
|||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install Rust
|
- name: Install Rust
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: stable
|
|
||||||
override: true
|
|
||||||
profile: minimal
|
|
||||||
- name: Environment
|
|
||||||
run: |
|
run: |
|
||||||
uname -a
|
bin/install_rust_latest.sh
|
||||||
cargo --version
|
|
||||||
- name: set Version
|
- name: set Version
|
||||||
run: |
|
run: bin/release/version.sh
|
||||||
echo VERSION=$(grep '^version' packages/hurl/Cargo.toml | cut -f2 -d'"') >> $GITHUB_ENV
|
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: |
|
||||||
ci/man.sh
|
bin/release/man.sh
|
||||||
ci/release.sh
|
bin/release/release.sh
|
||||||
ci/create_tarball.sh macos
|
bin/release/create_tarball.sh macos
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
@ -152,9 +104,9 @@ jobs:
|
|||||||
choco install --confirm --no-progress nsis
|
choco install --confirm --no-progress nsis
|
||||||
refreshenv
|
refreshenv
|
||||||
Get-Command Expand-Archive
|
Get-Command Expand-Archive
|
||||||
Expand-Archive -Path '.\ci\windows\EnVar_plugin.zip' -DestinationPath 'C:\Program Files (x86)\NSIS' -Verbose
|
Expand-Archive -Path '.\bin\windows\EnVar_plugin.zip' -DestinationPath 'C:\Program Files (x86)\NSIS' -Verbose
|
||||||
cd .\target\win-package
|
cd .\target\win-package
|
||||||
makensis.exe /NOCD /V4 ..\..\ci\windows\hurl.nsi
|
makensis.exe /NOCD /V4 ..\..\bin\windows\hurl.nsi
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
|
137
.github/workflows/test.yml
vendored
137
.github/workflows/test.yml
vendored
@ -11,27 +11,16 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install
|
- name: Environment
|
||||||
run: |
|
run: bin/environment.sh
|
||||||
# Install libcurl dev so that hurl can be built dynamically with libcurl
|
- name: Install Prerequisites
|
||||||
sudo apt update
|
run: bin/install_prerequisites_ubuntu.sh
|
||||||
sudo apt install libcurl4-openssl-dev
|
- name: Install Rust
|
||||||
bin/install_rust_latest.sh
|
run: bin/install_rust_latest.sh
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: bin/release/release.sh
|
||||||
ci/release.sh
|
|
||||||
- name: Test Prequisites
|
|
||||||
run: |
|
|
||||||
pip3 install --requirement integration/requirements-frozen.txt
|
|
||||||
cd bench
|
|
||||||
python3 server.py >server.log 2>&1 &
|
|
||||||
sleep 2
|
|
||||||
netstat -an | grep 8000
|
|
||||||
- name: Run Bench Suite
|
- name: Run Bench Suite
|
||||||
run: |
|
run: bin/test/bench.sh
|
||||||
export PATH="$PWD/target/release:$PATH"
|
|
||||||
cd bench
|
|
||||||
./run.sh
|
|
||||||
- name: Archive artifacts
|
- name: Archive artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
@ -48,34 +37,20 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install
|
- name: Environment
|
||||||
run: |
|
run: bin/environment.sh
|
||||||
sudo apt update
|
- name: Install Prerequisites
|
||||||
sudo apt install libcurl4-openssl-dev libxml2-utils
|
run: bin/install_prerequisites_ubuntu.sh
|
||||||
python3 -m pip install --upgrade pip --quiet
|
- name: Install Rust
|
||||||
bin/install_rust_latest.sh
|
run: bin/install_rust_latest.sh
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: bin/release/release.sh
|
||||||
cargo build --release --verbose --locked
|
- name: Test Prerequisites
|
||||||
target/release/hurl --version
|
run: bin/test/test_prerequisites.sh
|
||||||
curl --version
|
|
||||||
- name: Test Prequisites
|
|
||||||
run: |
|
|
||||||
ci/test_prerequisites.sh
|
|
||||||
- name: Run Tests units
|
- name: Run Tests units
|
||||||
run: |
|
run: bin/test/test_unit.sh
|
||||||
cargo test --features strict
|
|
||||||
- name: Run Integration Tests
|
- name: Run Integration Tests
|
||||||
run: |
|
run: bin/test/test_integ.sh
|
||||||
export PATH="$PWD/target/debug:$PATH"
|
|
||||||
cd integration
|
|
||||||
./integration.py
|
|
||||||
./test_curl_commands.sh $(find ./tests_ok -maxdepth 1 -type f -name '*.curl' ! -name '*windows*')
|
|
||||||
./test_html_output.py tests_ok/*.html
|
|
||||||
./test_curl_commands.sh $(find ./tests_failed -maxdepth 1 -type f -name '*.curl' ! -name '*windows*')
|
|
||||||
./test_html_output.py tests_failed/*.html
|
|
||||||
./ad_hoc.sh
|
|
||||||
./report.sh
|
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
@ -98,16 +73,11 @@ jobs:
|
|||||||
image: archlinux
|
image: archlinux
|
||||||
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always
|
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
bin/environment.sh
|
||||||
uname -a
|
bin/install_prerequisites_archlinux.sh
|
||||||
uname -m
|
|
||||||
echo "----- install prerequisite packages -----"
|
|
||||||
pacman -Syy --noconfirm
|
|
||||||
pacman -Sy --noconfirm curl icu base-devel libxml2 python3
|
|
||||||
curl -O https://bootstrap.pypa.io/get-pip.py
|
|
||||||
python3 get-pip.py
|
|
||||||
bin/install_rust_latest.sh
|
bin/install_rust_latest.sh
|
||||||
ci/build_and_test.sh
|
bin/release/release.sh
|
||||||
|
bin/test/test.sh
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
@ -129,14 +99,11 @@ jobs:
|
|||||||
image: fedora
|
image: fedora
|
||||||
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always
|
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
bin/environment.sh
|
||||||
uname -a
|
bin/install_prerequisites_fedora.sh
|
||||||
uname -m
|
|
||||||
echo "----- install prerequisite packages -----"
|
|
||||||
yum install -y procps gcc libxml2-devel openssl-devel libcurl-devel python3-devel python3-pip
|
|
||||||
python3 -m pip install --upgrade pip --quiet
|
|
||||||
bin/install_rust_latest.sh
|
bin/install_rust_latest.sh
|
||||||
ci/build_and_test.sh
|
bin/release/release.sh
|
||||||
|
bin/test/test.sh
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
@ -158,15 +125,11 @@ jobs:
|
|||||||
image: alpine
|
image: alpine
|
||||||
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always --env RUSTFLAGS=-Ctarget-feature=-crt-static
|
options: --volume ${{ github.workspace }}:/work --workdir /work --privileged --env CARGO_TERM_COLOR=always --env RUSTFLAGS=-Ctarget-feature=-crt-static
|
||||||
run: |
|
run: |
|
||||||
set -eu
|
bin/environment.sh
|
||||||
uname -a
|
bin/install_prerequisites_alpine.sh
|
||||||
uname -m
|
|
||||||
echo "----- install prerequisite packages -----"
|
|
||||||
apk update --quiet
|
|
||||||
apk add --quiet bash curl curl-dev build-base libffi-dev libxml2-dev libxml2-utils openssl-dev python3 python3-dev py3-pip
|
|
||||||
python3 -m pip install --upgrade pip --quiet
|
|
||||||
bin/install_rust_latest.sh
|
bin/install_rust_latest.sh
|
||||||
ci/build_and_test.sh
|
bin/release/release.sh
|
||||||
|
bin/test/test.sh
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
@ -185,36 +148,18 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
- name: Install Rust
|
|
||||||
uses: actions-rs/toolchain@v1
|
|
||||||
with:
|
|
||||||
toolchain: ${{ matrix.rust }}
|
|
||||||
override: true
|
|
||||||
profile: minimal
|
|
||||||
- name: Environment
|
- name: Environment
|
||||||
run: |
|
run: bin/environment.sh
|
||||||
uname -a
|
- name: Install Rust
|
||||||
cargo --version
|
run: bin/install_rust_latest.sh
|
||||||
- name: Build
|
- name: Build
|
||||||
run: |
|
run: bin/release/release.sh
|
||||||
cargo build --release --verbose --locked
|
- name: Test Prerequisites
|
||||||
target/release/hurl --version
|
run: bin/test/test_prerequisites.sh
|
||||||
curl --version
|
|
||||||
- name: Test Prequisites
|
|
||||||
run: |
|
|
||||||
pip3 install --requirement integration/requirements-frozen.txt
|
|
||||||
cd integration
|
|
||||||
python3 server.py >server.log 2>&1 &
|
|
||||||
python3 ssl/server.py >server-ssl.log 2>&1 &
|
|
||||||
mitmdump -p 8888 --modify-header "/From-Proxy/Hello" &
|
|
||||||
- name: Run Tests units
|
- name: Run Tests units
|
||||||
run: |
|
run: bin/test/test_unit.sh
|
||||||
cargo test
|
|
||||||
- name: Run Integration Tests
|
- name: Run Integration Tests
|
||||||
run: |
|
run: bin/test/test_integ.sh
|
||||||
export PATH="$PWD/target/debug:$PATH"
|
|
||||||
cd integration
|
|
||||||
./integration.py
|
|
||||||
- name: Archive production artifacts
|
- name: Archive production artifacts
|
||||||
uses: actions/upload-artifact@v3
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
@ -261,8 +206,8 @@ jobs:
|
|||||||
. /hurl/venv/bin/activate
|
. /hurl/venv/bin/activate
|
||||||
python3 -m pip install pip --upgrade
|
python3 -m pip install pip --upgrade
|
||||||
./bin/install_rust_latest.sh
|
./bin/install_rust_latest.sh
|
||||||
echo "# Execute tests"
|
./bin/release/release.sh
|
||||||
./ci/build_and_test.sh
|
./bin/test/test.sh
|
||||||
echo "# pre-write cache"
|
echo "# pre-write cache"
|
||||||
mkdir -p /hurl/root
|
mkdir -p /hurl/root
|
||||||
for dir in .rustup .cargo ; do [ -d "/root/${dir}" ] && cp -fr "/root/${dir}" "/hurl/root/${dir}" ; done
|
for dir in .rustup .cargo ; do [ -d "/root/${dir}" ] && cp -fr "/root/${dir}" "/hurl/root/${dir}" ; done
|
||||||
|
5
bin/environment.sh
Executable file
5
bin/environment.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
uname -a
|
||||||
|
uname -m
|
||||||
|
|
6
bin/install_prerequisites_alpine.sh
Executable file
6
bin/install_prerequisites_alpine.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
echo "----- install prerequisite packages -----"
|
||||||
|
apk update --quiet
|
||||||
|
apk add --quiet bash curl curl-dev build-base libffi-dev libxml2-dev libxml2-utils openssl-dev python3 python3-dev py3-pip
|
||||||
|
python3 -m pip install --upgrade pip --quiet
|
7
bin/install_prerequisites_archlinux.sh
Executable file
7
bin/install_prerequisites_archlinux.sh
Executable file
@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
echo "----- install prerequisite packages -----"
|
||||||
|
pacman -Syy --noconfirm
|
||||||
|
pacman -Sy --noconfirm curl icu base-devel libxml2 python3
|
||||||
|
curl -O https://bootstrap.pypa.io/get-pip.py
|
||||||
|
python3 get-pip.py
|
5
bin/install_prerequisites_fedora.sh
Executable file
5
bin/install_prerequisites_fedora.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
echo "----- install prerequisite packages -----"
|
||||||
|
yum install -y procps gcc libxml2-devel openssl-devel libcurl-devel python3-devel python3-pip
|
||||||
|
python3 -m pip install --upgrade pip --quiet
|
6
bin/install_prerequisites_ubuntu.sh
Executable file
6
bin/install_prerequisites_ubuntu.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
sudo apt update
|
||||||
|
# Install libcurl dev so that hurl can be built dynamically with libcurl
|
||||||
|
sudo apt install libcurl4-openssl-dev libxml2-utils
|
||||||
|
python3 -m pip install --upgrade pip --quiet
|
@ -1,7 +1,11 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh
|
||||||
sh rustup.sh -y
|
sh rustup.sh -y
|
||||||
~/.cargo/bin/rustc --version
|
# shellcheck source=/dev/null
|
||||||
~/.cargo/bin/cargo --version
|
PATH="$HOME/.cargo/bin:$PATH"
|
||||||
|
export PATH
|
||||||
|
rustc --version
|
||||||
|
cargo --version
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
set -u
|
set -u
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
set -u
|
set -u
|
||||||
sudo rm -rf target/debian
|
sudo rm -rf target/debian
|
||||||
@ -7,8 +7,8 @@ mkdir -p target/debian/usr/bin target/debian/DEBIAN
|
|||||||
mkdir -p target/debian/usr/share/man/man1
|
mkdir -p target/debian/usr/share/man/man1
|
||||||
mkdir -p target/debian/usr/share/doc/hurl
|
mkdir -p target/debian/usr/share/doc/hurl
|
||||||
|
|
||||||
cp target/release/{hurl,hurlfmt} target/debian/usr/bin
|
cp target/release/hurl target/release/hurlfmt target/debian/usr/bin
|
||||||
cp target/man/{hurl.1.gz,hurlfmt.1.gz} target/debian/usr/share/man/man1
|
cp target/man/hurl.1.gz target/man/hurlfmt.1.gz target/debian/usr/share/man/man1
|
||||||
gzip -9 -n --stdout CHANGELOG.md > target/debian/usr/share/doc/hurl/changelog.Debian.gz
|
gzip -9 -n --stdout CHANGELOG.md > target/debian/usr/share/doc/hurl/changelog.Debian.gz
|
||||||
cat >target/debian/usr/share/doc/hurl/copyright <<END
|
cat >target/debian/usr/share/doc/hurl/copyright <<END
|
||||||
Files: *
|
Files: *
|
12
bin/release/man.sh
Executable file
12
bin/release/man.sh
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
rm -rf target/man
|
||||||
|
mkdir -p target/man
|
||||||
|
bin/release/gen_manpage.py docs/man/hurl.md > target/man/hurl.1
|
||||||
|
bin/release/gen_manpage.py docs/man/hurlfmt.md > target/man/hurlfmt.1
|
||||||
|
|
||||||
|
gzip -n -9 target/man/hurl.1
|
||||||
|
gzip -n -9 target/man/hurlfmt.1
|
||||||
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
cargo build --release --verbose
|
PATH="$HOME"/.cargo/bin:$PATH
|
||||||
|
export PATH
|
||||||
|
cargo build --release --verbose --locked
|
||||||
strip target/release/hurl
|
strip target/release/hurl
|
||||||
strip target/release/hurlfmt
|
strip target/release/hurlfmt
|
||||||
|
|
3
bin/release/version.sh
Executable file
3
bin/release/version.sh
Executable file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -eu
|
||||||
|
echo VERSION="$(grep '^version' packages/hurl/Cargo.toml | cut -f2 -d'"')" >> "$GITHUB_ENV"
|
8
bin/test/bench.sh
Executable file
8
bin/test/bench.sh
Executable file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
export PATH="$PWD/target/release:$PATH"
|
||||||
|
pip3 install --requirement integration/requirements-frozen.txt
|
||||||
|
cd bench || exit 1
|
||||||
|
python3 server.py >server.log 2>&1 &
|
||||||
|
sleep 2
|
||||||
|
netstat -an | grep 8000
|
||||||
|
./run.sh
|
5
bin/test/test.sh
Executable file
5
bin/test/test.sh
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
"$(dirname "$0")"/test_prerequisites.sh
|
||||||
|
"$(dirname "$0")"/test_unit.sh
|
||||||
|
"$(dirname "$0")"/test_integ.sh
|
11
bin/test/test_integ.sh
Executable file
11
bin/test/test_integ.sh
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
echo "----- integration tests -----"
|
||||||
|
export PATH="$PWD/target/debug:$PATH"
|
||||||
|
cd integration || exit
|
||||||
|
./integration.py
|
||||||
|
./test_curl_commands.sh "$(find ./tests_ok ./tests_failed -maxdepth 1 -type f -name '*.curl' ! -name '*windows*')"
|
||||||
|
./test_html_output.py tests_ok/*.html tests_failed/*.html
|
||||||
|
./ad_hoc.sh
|
||||||
|
./report.sh
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
echo "----- install servers prerequisites -----"
|
echo "----- install servers prerequisites -----"
|
||||||
pip3 install --requirement integration/requirements-frozen.txt
|
pip3 install --requirement integration/requirements-frozen.txt
|
6
bin/test/test_unit.sh
Executable file
6
bin/test/test_unit.sh
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
echo "----- unit tests -----"
|
||||||
|
PATH="$HOME"/.cargo/bin:$PATH
|
||||||
|
export PATH
|
||||||
|
cargo test --features strict --tests
|
@ -3,9 +3,9 @@
|
|||||||
!include "FileFunc.nsh"
|
!include "FileFunc.nsh"
|
||||||
|
|
||||||
; define icons
|
; define icons
|
||||||
!define MUI_ICON "..\..\ci\windows\logo.ico"
|
!define MUI_ICON "..\..\bin\windows\logo.ico"
|
||||||
!define MUI_HEADERIMAGE
|
!define MUI_HEADERIMAGE
|
||||||
!define MUI_HEADERIMAGE_BITMAP "..\..\ci\windows\logo.bmp"
|
!define MUI_HEADERIMAGE_BITMAP "..\..\bin\windows\logo.bmp"
|
||||||
!define MUI_HEADERIMAGE_RIGHT
|
!define MUI_HEADERIMAGE_RIGHT
|
||||||
|
|
||||||
; define version
|
; define version
|
Before Width: | Height: | Size: 630 KiB After Width: | Height: | Size: 630 KiB |
Before Width: | Height: | Size: 91 KiB After Width: | Height: | Size: 91 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
@ -1,20 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
echo "----- build -----"
|
|
||||||
# Directive for ShellCheck SC1090:
|
|
||||||
# shellcheck source=/dev/null
|
|
||||||
source ~/.cargo/env
|
|
||||||
cargo build --release --verbose --locked
|
|
||||||
target/release/hurl --version
|
|
||||||
curl --version
|
|
||||||
|
|
||||||
ci/test_prerequisites.sh
|
|
||||||
|
|
||||||
echo "----- unit tests -----"
|
|
||||||
cargo test --features strict --tests
|
|
||||||
|
|
||||||
echo "----- integration tests -----"
|
|
||||||
export PATH="$PWD/target/debug:$PATH"
|
|
||||||
cd integration || exit
|
|
||||||
./integration.py
|
|
12
ci/man.sh
12
ci/man.sh
@ -1,12 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
set -e
|
|
||||||
|
|
||||||
rm -rf target/man
|
|
||||||
mkdir -p target/man
|
|
||||||
ci/gen_manpage.py docs/man/hurl.md > target/man/hurl.1
|
|
||||||
ci/gen_manpage.py docs/man/hurlfmt.md > target/man/hurlfmt.1
|
|
||||||
|
|
||||||
gzip -n -9 target/man/hurl.1
|
|
||||||
gzip -n -9 target/man/hurlfmt.1
|
|
||||||
|
|
||||||
|
|
@ -116,12 +116,12 @@ Get-ChildItem -Path *.dll, *hurl.exe, *hurlfmt.exe, *.txt, ../../*.md -Exclude
|
|||||||
```powershell
|
```powershell
|
||||||
cd c:\hurl
|
cd c:\hurl
|
||||||
Get-Command Expand-Archive
|
Get-Command Expand-Archive
|
||||||
Expand-Archive -Path '.\ci\windows\EnVar_plugin.zip' -DestinationPath 'C:\Program Files (x86)\NSIS' -Verbose
|
Expand-Archive -Path '.\bin\windows\EnVar_plugin.zip' -DestinationPath 'C:\Program Files (x86)\NSIS' -Verbose
|
||||||
cd c:\hurl\target\win-package
|
cd c:\hurl\target\win-package
|
||||||
$oldpath = Get-ItemProperty -Path HKCU:\Environment -Name Path
|
$oldpath = Get-ItemProperty -Path HKCU:\Environment -Name Path
|
||||||
$newpath = $oldpath.Path += ";C:\Program Files (x86)\NSIS\Bin"
|
$newpath = $oldpath.Path += ";C:\Program Files (x86)\NSIS\Bin"
|
||||||
Set-ItemProperty -Path HKCU:\Environment -Name Path -Value $newpath
|
Set-ItemProperty -Path HKCU:\Environment -Name Path -Value $newpath
|
||||||
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
|
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
|
||||||
makensis.exe /NOCD /V4 ..\..\ci\windows\hurl.nsi
|
makensis.exe /NOCD /V4 ..\..\bin\windows\hurl.nsi
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -39,20 +39,21 @@ done
|
|||||||
set -e
|
set -e
|
||||||
|
|
||||||
total=$(find tests_{ok,failed} -name '*.hurl' | wc -l)
|
total=$(find tests_{ok,failed} -name '*.hurl' | wc -l)
|
||||||
total_in_json=$( wc -l < build/tests.json)
|
|
||||||
total_in_xml=$(xmllint --xpath '//testcase' - < build/tests.xml| grep -c 'testcase id')
|
|
||||||
|
|
||||||
echo "Total Number of tests: $total"
|
echo "Total Number of tests: $total"
|
||||||
|
|
||||||
|
total_in_json=$( wc -l < build/tests.json)
|
||||||
if [[ "$total_in_json" -ne "$total" ]] ; then
|
if [[ "$total_in_json" -ne "$total" ]] ; then
|
||||||
echo "Number of tests in JSON do not match!"
|
echo "Number of tests in JSON: $total_in_json => does not match!"
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [[ "$total_in_xml" -ne "$total" ]] ; then
|
|
||||||
echo "Number of tests in XML do not match!"
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# TODO: to be fixed for macos
|
||||||
|
#total_in_xml=$(xmllint --xpath '//testcase' - < build/tests.xml| grep -c 'testcase id')
|
||||||
|
#if [[ "$total_in_xml" -ne "$total" ]] ; then
|
||||||
|
# echo "Number of tests in XML: $total_in_xml => does not match!"
|
||||||
|
# exit 1
|
||||||
|
#fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ use winres::WindowsResource;
|
|||||||
#[cfg(windows)]
|
#[cfg(windows)]
|
||||||
fn set_icon() {
|
fn set_icon() {
|
||||||
let mut res = WindowsResource::new();
|
let mut res = WindowsResource::new();
|
||||||
res.set_icon("../../ci/windows/logo.ico");
|
res.set_icon("../../bin/windows/logo.ico");
|
||||||
res.compile().unwrap();
|
res.compile().unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user