Backend: adjust legacy obj path (#218) #2496
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, pull_request, workflow_dispatch] | |
# FIXME: figure out why we need to clean after make if we | |
# want 'make strict' target to really happen without | |
# assuming the binaries from previous build are good | |
# (msbuild bug?) | |
jobs: | |
macOS--dotnet6-and-mono: | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: Setup .NET SDK 6.0.x | |
uses: actions/setup-dotnet@v1.7.2 | |
with: | |
dotnet-version: '6.0.113' | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
- name: compile .fsx scripts | |
run: | | |
dotnet new tool-manifest | |
# we need to install specific version because of this bug: https://github.com/dotnet/sdk/issues/24037 | |
dotnet tool install fsxc --version 0.5.9.1 | |
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} | |
macOS--mono: | |
runs-on: macOS-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: HACK to emulate dotnet uninstall | |
run: sudo rm -f `which dotnet` | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
windows--dotnet6: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: Setup .NET SDK 6.0.x | |
uses: actions/setup-dotnet@v1.7.2 | |
with: | |
dotnet-version: '6.0.113' | |
- name: configure | |
run: .\configure.bat | |
- name: build in DEBUG mode | |
run: .\make.bat | |
- name: sanity check | |
run: .\make.bat sanitycheck | |
- name: unit tests | |
run: .\make.bat check | |
- name: re-build in STRICT mode | |
run: git clean -fdx && .\configure.bat && .\make.bat strict | |
- name: re-build in RELEASE mode | |
run: git clean -fdx && .\configure.bat && .\make.bat release | |
- name: integration tests | |
run: .\make update-servers | |
- name: compile .fsx scripts | |
shell: bash | |
run: | | |
dotnet new tool-manifest | |
# we need to install specific version because of this bug: https://github.com/dotnet/sdk/issues/24037 | |
dotnet tool install fsxc --version 0.5.9.1 | |
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} | |
windows--legacyFramework: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: HACK to emulate dotnet uninstall | |
run: del $(where.exe dotnet) | |
- name: configure | |
run: .\configure.bat | |
- name: build in DEBUG mode | |
run: .\make.bat | |
- name: sanity check | |
run: .\make.bat sanitycheck | |
- name: unit tests | |
run: .\make.bat check | |
- name: re-build in STRICT mode | |
run: git clean -fdx && .\configure.bat && .\make.bat strict | |
- name: re-build in RELEASE mode | |
run: git clean -fdx && .\configure.bat && .\make.bat release | |
- name: integration tests | |
run: .\make update-servers | |
linux22-github: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: install missing dependencies | |
run: sudo apt install --yes fsharp nunit-console | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
linux22-github--newmono: | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: install missing dependencies | |
run: sudo apt install --yes fsharp nunit-console | |
- name: install last version of mono (Microsoft APT repositories) | |
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
linux22-vanilla--stockmono: | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v1 | |
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH." | |
# with: | |
# submodules: 'true' | |
- name: install sudo | |
run: apt update && apt install --yes sudo | |
- name: install all dependencies | |
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make curl fsharp nunit-console | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
linux22-vanilla--stockdotnet6: | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v1 | |
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH." | |
# with: | |
# submodules: 'true' | |
- name: install sudo | |
run: apt update && apt install --yes sudo | |
- name: install all dependencies | |
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make curl dotnet6 | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
- name: compile .fsx scripts | |
run: | | |
dotnet new tool-manifest | |
# we need to install specific version because of this bug: https://github.com/dotnet/sdk/issues/24037 | |
dotnet tool install fsxc --version 0.5.9.1 | |
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} | |
linux22-vanilla--stockdotnet6-and-newmono: | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v1 | |
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH." | |
# with: | |
# submodules: 'true' | |
- name: install sudo | |
run: apt update && apt install --yes sudo | |
- name: install all dependencies | |
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make curl dotnet6 | |
- name: install last version of mono (Microsoft APT repositories) | |
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
- name: compile .fsx scripts | |
run: | | |
dotnet new tool-manifest | |
# we need to install specific version because of this bug: https://github.com/dotnet/sdk/issues/24037 | |
dotnet tool install fsxc --version 0.5.9.1 | |
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} | |
linux22-vanilla--stockdotnet6-and-stockmono: | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v1 | |
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH." | |
# with: | |
# submodules: 'true' | |
- name: install sudo | |
run: apt update && apt install --yes sudo | |
- name: install all dependencies | |
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make curl dotnet6 mono-xbuild | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
- name: compile .fsx scripts | |
run: | | |
dotnet new tool-manifest | |
# we need to install specific version because of this bug: https://github.com/dotnet/sdk/issues/24037 | |
dotnet tool install fsxc --version 0.5.9.1 | |
find . -type f -name "*.fsx" | xargs -t -I {} dotnet fsxc {} | |
linux22-vanilla--newmono: | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
steps: | |
- uses: actions/checkout@v1 | |
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH." | |
# with: | |
# submodules: 'true' | |
- name: install sudo | |
run: apt update && apt install --yes sudo | |
- name: install all dependencies | |
run: sudo DEBIAN_FRONTEND=noninteractive apt install --yes git make curl fsharp nunit-console | |
- name: install last version of mono (Microsoft APT repositories) | |
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
linux20-github: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: install missing dependencies | |
run: sudo apt install --yes fsharp nunit-console | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
linux20-github--newmono: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: install missing dependencies | |
run: sudo apt install --yes fsharp nunit-console | |
- name: install last version of mono (Microsoft APT repositories) | |
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
linux20-vanilla--stockmono: | |
runs-on: ubuntu-20.04 | |
container: | |
image: "ubuntu:20.04" | |
steps: | |
- uses: actions/checkout@v1 | |
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH." | |
# with: | |
# submodules: 'true' | |
- name: install sudo | |
run: apt update && apt install --yes sudo | |
- name: install all dependencies | |
run: sudo apt install --yes git make curl fsharp nunit-console | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
linux20-vanilla--newmono: | |
runs-on: ubuntu-20.04 | |
container: | |
image: "ubuntu:20.04" | |
steps: | |
- uses: actions/checkout@v1 | |
# can't use the option below because of error "Input 'submodules' not supported when falling back to download using the GitHub REST API. To create a local Git repository instead, add Git 2.18 or higher to the PATH." | |
# with: | |
# submodules: 'true' | |
- name: install sudo | |
run: apt update && apt install --yes sudo | |
- name: install all dependencies | |
run: sudo apt install --yes git make curl fsharp nunit-console | |
- name: install last version of mono (Microsoft APT repositories) | |
run: sudo ./scripts/install_mono_from_microsoft_deb_packages.sh | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: check mono version | |
run: mono --version | |
- name: configure | |
run: ./configure.sh | |
- name: build in DEBUG mode | |
run: make | |
- name: sanity check | |
run: make sanitycheck | |
- name: unit tests | |
run: make check | |
- name: build in STRICT mode | |
run: git clean -fdx && ./configure.sh && make strict | |
- name: build in RELEASE mode | |
run: git clean -fdx && ./configure.sh && make release | |
- name: integration tests | |
run: make update-servers | |
conventions: | |
runs-on: ubuntu-22.04 | |
container: | |
image: "ubuntu:22.04" | |
needs: | |
- linux22-github | |
- linux22-github--newmono | |
- linux22-vanilla--stockmono | |
- linux22-vanilla--newmono | |
- linux22-vanilla--stockdotnet6 | |
- linux22-vanilla--stockdotnet6-and-stockmono | |
- linux22-vanilla--stockdotnet6-and-newmono | |
- linux20-github | |
- linux20-github--newmono | |
- linux20-vanilla--stockmono | |
- linux20-vanilla--newmono | |
- windows--dotnet6 | |
- windows--legacyFramework | |
- macOS--dotnet6-and-mono | |
- macOS--mono | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: Install dependencies of commitlint | |
run: | | |
which sudo 2>/dev/null || (apt update && apt install --yes sudo) | |
sudo apt update | |
sudo apt install --yes git npm curl | |
sudo npm install --global n | |
sudo n lts | |
# workaround for https://github.com/actions/runner/issues/2033 | |
- name: ownership workaround | |
run: git config --global --add safe.directory '*' | |
- name: Pull our commitlint configuration | |
run: | | |
git clone https://github.com/nblockchain/conventions.git | |
rm -rf ./conventions/.git/ | |
- name: Validate current commit (last commit) with commitlint | |
if: github.event_name == 'push' | |
run: ./conventions/commitlint.sh --from HEAD~1 --to HEAD --verbose | |
- name: Validate PR commits with commitlint | |
if: github.event_name == 'pull_request' | |
run: ./conventions/commitlint.sh --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose | |
snap_pkg: | |
needs: | |
- conventions | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Install snap tools | |
run: | | |
sudo apt update | |
./scripts/install_snapcraft.sh | |
# hack to disable dotnet detection (can't use apt purge because github VM seems to have it installed in different way) | |
- name: HACK to emulate dotnet uninstall | |
run: sudo rm `which dotnet` | |
- name: Generate snap package | |
run: | | |
./scripts/snap_build.sh | |
- name: Install snap | |
# dangerous because it's a local snap (not one from the SnapStore) | |
run: sudo snap install --dangerous *.snap | |
- name: Test snap | |
run: gwallet --version | |
- uses: actions/upload-artifact@v3 | |
name: Upload snap package as artifact | |
with: | |
name: snap | |
path: ./*.snap | |
- name: Upload snap package to Snap Store | |
env: | |
SNAPCRAFT_LOGIN: ${{ secrets.SNAPCRAFT_LOGIN }} | |
run: | | |
sudo apt update | |
sudo apt install --yes fsharp | |
./scripts/snap_release.sh |