Update CI for 3.8 branch #261
Workflow file for this run
This file contains 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: ci | |
on: | |
push: | |
branches: ["3.8"] | |
pull_request: | |
branches: ["3.8"] | |
schedule: | |
# Run every day at 6:00 UTC | |
- cron: '00 6 * * *' | |
jobs: | |
build_and_test: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: 📦 NuGet Cache | |
uses: actions/cache@v3 | |
with: | |
path: ~/.nuget/packages | |
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-nuget- | |
- name: 📦 Cargo Cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
tools/slicec-cs/target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
restore-keys: | | |
${{ runner.os }}-cargo- | |
- uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: | | |
8.0.x | |
9.0.x | |
- name: Check out Ice repository | |
uses: actions/checkout@master | |
with: | |
repository: zeroc-ice/ice | |
path: 'ice' | |
- name: Install Ice apt dependencies | |
run: | | |
sudo apt-get update && sudo apt-get install -y \ | |
python3 python3-pip nodejs libbz2-dev libssl-dev libffi-dev \ | |
libmcpp-dev libedit-dev liblmdb-dev libexpat1-dev libsystemd-dev \ | |
ruby ruby-dev php-cli php-dev \ | |
libbluetooth-dev libdbus-1-dev \ | |
libsystemd-dev | |
shell: bash | |
- name: 🔨 Build and Publish Ice NuGet packages | |
working-directory: ice/csharp | |
run: | | |
make -C ../cpp slice2cs | |
dotnet msbuild msbuild/ice.proj /p:Configuration=Release | |
dotnet msbuild msbuild/ice.proj /t:NuGetPack | |
dotnet nuget push msbuild/zeroc.ice.net/*.nupkg --source ~/.nuget/packages | |
- name: Check out IceRPC for C# repository | |
uses: actions/checkout@master | |
with: | |
repository: icerpc/icerpc-csharp | |
path: 'icerpc-csharp' | |
- name: 🔨 Build and Publish IceRPC NuGet packages | |
working-directory: icerpc-csharp | |
run: ./build.sh --publish | |
- name: 🔨 Build Tests | |
run: dotnet build /p:IceHome=${{ github.workspace }}/ice /p:IceToolsPath=${{ github.workspace }}/ice/cpp/bin | |
- name: 🧪 Run Tests | |
run: dotnet test --no-build --verbosity normal |