Skip to content

dotnet(win): add PWD to PATH #270

dotnet(win): add PWD to PATH

dotnet(win): add PWD to PATH #270

Workflow file for this run

name: Build
on:
push:
pull_request:
workflow_dispatch:
jobs:
alpine:
timeout-minutes: 10
runs-on: ubuntu-latest
strategy:
matrix:
language: [
# haskell,
# ada,
# perl,
# php,
# python,
# ruby,
# raku,
# racket,
# julia,
# deno,
# csharp,
# zig,
# dart,
# c,
# lua,
# nim,
# go,
# go_purego,
# js,
# java,
dotnet
# swift,
# scala_native,
# scala,
# visual_basic,
# kotlin, // TODO
# ocaml,
# java_panama
]
# arch: [amd64]
arch: [arm64, amd64]
exclude:
- language: julia
arch: arm64
- language: csharp
arch: arm64
- language: dotnet
arch: arm64
fail-fast: false
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
if: matrix.arch != 'amd64'
- run: docker run --platform=linux/${{ matrix.arch }} --rm -v $PWD:/home alpine sh -c 'apk add --no-cache make bash curl && cd /home && make get_pact_ffi'
- run: make alpine_${{ matrix.language }}
env:
DOCKER_DEFAULT_PLATFORM: linux/${{ matrix.arch }}
# ruby:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: ruby/setup-ruby@v1
# with:
# ruby-version: "2.7.6"
# - run: make get_pact_ffi
# - run: ls
# - run: make ruby_install_deps
# - run: make ruby
# julia:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: julia-actions/setup-julia@v1
# with:
# version: "v1.8.3"
# - run: make get_pact_ffi
# - run: ls
# - run: make julia
# raku:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: Raku/setup-raku@v1
# if: runner.os != 'MacOS'
# - run: brew install rakudo
# if: runner.os == 'MacOS'
# - run: make get_pact_ffi
# - run: ls
# - run: make raku
# perl:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, macos-12, macos-14]
# # os: [ubuntu-latest, windows-latest, macos-12, macos-14] # TODO: Windows broken
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - if: runner.os == 'macOS'
# run: brew install protobuf
# - if: runner.os == 'Windows'
# name: Choco install protoc
# uses: crazy-max/ghaction-chocolatey@v2
# with:
# args: install protoc
# - uses: shogo82148/actions-setup-perl@v1
# with:
# perl-version: "5.32"
# install-modules-with: cpanm
# distribution: strawberry
# - if: runner.os == 'Windows'
# run: |
# rm -rf /usr/bin/perl.exe
# - run: cpanm FFI::Platypus
# - run: make get_pact_ffi
# # - run: make get_pact_plugins
# - run: ls
# - run: make perl
# haskell:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: haskell-actions/setup@v2
# - run: make get_pact_ffi
# - run: ls
# - run: make haskell
# python:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - if: runner.os == 'macOS'
# run: brew install protobuf
# - if: runner.os == 'Windows'
# name: Choco install protoc
# uses: crazy-max/ghaction-chocolatey@v2
# with:
# args: install protoc
# - uses: actions/setup-python@v4
# with:
# python-version: "3.10"
# - run: make get_pact_ffi
# # - run: make get_pact_plugins
# - run: ls
# - run: make python_install_deps
# - run: make python
# php:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - if: matrix.os == 'macos-14'
# name: Install Protobuf
# uses: arduino/setup-protoc@v3
# with:
# version: "25.x"
# repo-token: ${{ secrets.GITHUB_TOKEN }}
# - if: runner.os == 'Windows'
# name: Choco install protoc
# uses: crazy-max/ghaction-chocolatey@v2
# with:
# args: install protoc
# - uses: shivammathur/setup-php@v2
# with:
# php-version: 8.1
# extensions: ffi
# if: matrix.os != 'macos-14'
# - run: brew install php
# if: matrix.os == 'macos-14'
# - run: make get_pact_ffi
# # - run: make get_pact_plugins
# - run: ls
# - run: make php
# deno:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - if: runner.os == 'macOS'
# run: brew install protobuf
# - if: runner.os == 'Windows'
# name: Choco install protoc
# uses: crazy-max/ghaction-chocolatey@v2
# with:
# args: install protoc
# - uses: denoland/setup-deno@v1
# with:
# deno-version: v1.x
# - run: make get_pact_ffi
# # - run: make get_pact_plugins
# - run: make deno
# bun:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# # No bun on windows
# # os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# os: [ubuntu-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'macOS'
# run: brew install protobuf
# - run: |
# curl -fsSL https://bun.sh/install | bash
# echo "BUN_INSTALL=$HOME/.bun" >> $GITHUB_ENV
# echo "$HOME/.bun/bin" >> $GITHUB_PATH
# - run: make get_pact_ffi
# # - run: make get_pact_plugins
# - run: make bun
# zig:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [macos-12, macos-14]
# # os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: goto-bus-stop/setup-zig@v2
# if: matrix.os != 'macos-14'
# - run: brew install zig
# if: matrix.os == 'macos-14'
# - run: make get_pact_ffi
# - run: make zig
# dart:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: dart-lang/setup-dart@v1
# - run: make get_pact_ffi
# - run: dart pub get
# working-directory: dart
# - run: make dart
# c:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - run: make get_pact_ffi
# - run: make c
# swift:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: compnerd/gha-setup-swift@main
# if: runner.os == 'Windows'
# with:
# branch: swift-5.7.1-release
# tag: 5.7.1-RELEASE
# - if: matrix.os == 'macos-14'
# name: Install Protobuf
# uses: arduino/setup-protoc@v3
# with:
# version: "25.x"
# repo-token: ${{ secrets.GITHUB_TOKEN }}
# - run: make get_pact_ffi
# # - run: make get_pact_plugins
# - run: make swift
# lua:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, macos-12, macos-14]
# # os: [ubuntu-latest, windows-latest, macos-12, macos-14] # TODO: Windows broken
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: MunifTanjim/luver-action@v1
# if: runner.os == 'Linux'
# with:
# lua_versions: 5.1.5 5.4.3
# luajit_versions: 5.1.5:2.1.0-beta3
# luarocks_versions: 5.1.5:3.7.0 5.4.3:3.8.0
# - run: brew install lua luajit luarocks
# if: runner.os == 'macOS'
# - uses: leafo/gh-actions-lua@v9.1.0
# if: runner.os == 'Windows'
# with:
# luaVersion: "luajit-2.1.0-beta3"
# continue-on-error: true
# - uses: crazy-max/ghaction-chocolatey@v2
# if: runner.os == 'Windows'
# with:
# args: install lua luarocks
# - run: |
# ls "C:\Program Files (x86)\Lua\5.1"
# "C:\Program Files (x86)\Lua\5.1\lua.exe" -v
# echo "C:\Program Files (x86)\Lua\5.1" >> $GITHUB_PATH
# "D:/a/hello_ffi/hello_ffi/.install/LuaJIT-2.1.0-beta3/src/luajit.exe" -v
# echo "D:/a/hello_ffi/hello_ffi/.install/LuaJIT-2.1.0-beta3/src" >> $GITHUB_PATH
# if: runner.os == 'Windows'
# - run: luver use 5.1.5
# if: runner.os == 'Linux'
# - run: |
# lua -v
# luajit -v
# luarocks --version
# if: runner.os == 'Linux' || runner.os == 'macOS'
# - run: |
# lua.exe -v
# luajit.exe -v
# luarocks.exe --version
# if: runner.os == 'Windows'
# - if: matrix.os == 'macos-14'
# name: Install Protobuf
# uses: arduino/setup-protoc@v3
# with:
# version: "25.x"
# repo-token: ${{ secrets.GITHUB_TOKEN }}
# - if: runner.os == 'Windows'
# name: Choco install protoc
# uses: crazy-max/ghaction-chocolatey@v2
# with:
# args: install protoc
# - run: make get_pact_ffi
# # - run: make get_pact_plugins
# - run: make lua
# nim:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# name: 'remove wsl bash'
# - uses: jiro4989/setup-nim-action@v1
# if: runner.os != 'macOS'
# - run: brew install nim
# if: runner.os == 'macOS'
# - run: make get_pact_ffi
# - run: make nim
dotnet:
timeout-minutes: 10
# runs-on: ubuntu-latest
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-12, macos-14]
fail-fast: false
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
env:
LD_LIBRARY_PATH: ${{ github.workspace }}
steps:
- uses: actions/checkout@v3
- if: runner.os == 'Windows'
run: rm 'C:\Windows\System32\bash.exe'
name: 'remove wsl bash'
# - if: matrix.os == 'macos-14'
# name: Install Protobuf
# uses: arduino/setup-protoc@v3
# with:
# version: "25.x"
# repo-token: ${{ secrets.GITHUB_TOKEN }}
# if: runner.os == 'macOS'
- run: make get_pact_ffi
- if: matrix.os == 'windows-latest'
name: add ffi to path
run: |
pwd >> $env:GITHUB_PATH
- run: make dotnet
# scala:
# timeout-minutes: 10
# # runs-on: ubuntu-latest
# strategy:
# matrix:
# os: [ubuntu-latest, windows-latest, macos-12, macos-14]
# fail-fast: false
# runs-on: ${{ matrix.os }}
# defaults:
# run:
# shell: bash
# env:
# LD_LIBRARY_PATH: ${{ github.workspace }}
# steps:
# - uses: actions/checkout@v3
# - if: runner.os == 'Windows'
# run: rm 'C:\Windows\System32\bash.exe'
# - uses: japgolly/setup-everything-scala@v3.1
# if: runner.os == 'Linux'
# - run: brew install scala
# if: runner.os == 'macOS'
# - run: sudo apt install -y scala
# if: runner.os == 'Linux'
# - uses: crazy-max/ghaction-chocolatey@v2
# if: runner.os == 'Windows'
# with:
# args: install scala.install
# - run: |
# ls "C:\Program Files (x86)\scala\bin"
# # "C:\Program Files (x86)\scala\bin\scala.bat" -h
# echo "C:\Program Files (x86)\scala\bin" >> $GITHUB_PATH
# if: runner.os == 'Windows'
# - run: make get_pact_ffi
# - run: make scala