Skip to content

scripts/configure.fsx: put Frontend in cfg summary #2515

scripts/configure.fsx: put Frontend in cfg summary

scripts/configure.fsx: put Frontend in cfg summary #2515

Workflow file for this run

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: install GTK libs (dependency of GTK frontend)
run: sudo apt install -y libgtk2.0-cil-dev
- name: configure
run: ./configure.sh
- name: build in DEBUG mode (retry 3 times because of flakey XamForms restore)
# TODO: remove retry when we migrate to .NET6 (removing LEGACY_FRAMEWORK support)
run: make || make || make || 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: install GTK libs (dependency of GTK frontend)
run: sudo apt install -y libgtk2.0-cil-dev
- name: configure
run: ./configure.sh
- name: build in DEBUG mode (retry 3 times because of flakey XamForms restore)
# TODO: remove retry when we migrate to .NET6 (removing LEGACY_FRAMEWORK support)
run: make || make || make || 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: install GTK libs (dependency of GTK frontend)
run: sudo apt install -y libgtk2.0-cil-dev
- name: configure
run: ./configure.sh
- name: build in DEBUG mode (retry 3 times because of flakey XamForms restore)
# TODO: remove retry when we migrate to .NET6 (removing LEGACY_FRAMEWORK support)
run: make || make || make || 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: install GTK libs (dependency of GTK frontend)
run: sudo apt install -y libgtk2.0-cil-dev
- name: configure
run: ./configure.sh
- name: build in DEBUG mode (retry 3 times because of flakey XamForms restore)
# TODO: remove retry when we migrate to .NET6 (removing LEGACY_FRAMEWORK support)
run: make || make || make || 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
sudo ./scripts/install_mono_from_microsoft_deb_packages.sh
./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: |
# retry 3 times because of flakey nuget; TODO: remove retry when we migrate to .NET6 (removing LEGACY_FRAMEWORK support)
./scripts/snap_build.sh || ./scripts/snap_build.sh || ./scripts/snap_build.sh || ./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: geewallet --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
./scripts/snap_release.sh