Skip to content

Backend: pin FSharp.Core in JsonRpcSharp #2473

Backend: pin FSharp.Core in JsonRpcSharp

Backend: pin FSharp.Core in JsonRpcSharp #2473

Workflow file for this run

name: CI
on: [push, pull_request]
# 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:
runs-on: macOS-latest
steps:
- uses: actions/checkout@v1
- 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:
runs-on: windows-2019
steps:
- uses: actions/checkout@v1
- 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--xbuild:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v1
- 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--msbuild:
runs-on: ubuntu-22.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
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--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--xbuild:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- 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--msbuild:
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
snap_pkg_build:
needs:
- linux22-github--xbuild
- linux22-github--msbuild
- linux22-vanilla--stockmono
- linux22-vanilla--newmono
- linux20-github--xbuild
- linux20-github--msbuild
- linux20-vanilla--stockmono
- linux20-vanilla--newmono
- windows
- macOS
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- name: Generate snap package
run: |
sudo apt update
./scripts/install_snapcraft.sh
sudo ./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
- name: Upload snap package as artifact
uses: actions/upload-artifact@v1
with:
name: snap
path: gwallet_0.2.377.0_amd64.snap
snap_pkg_upload:
needs: snap_pkg_build
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v1
- name: Download artifact from previous job
uses: actions/download-artifact@v1
with:
name: snap
- name: Upload snap package to Snap Store
env:
SNAPCRAFT_LOGIN: ${{ secrets.SNAPCRAFT_LOGIN }}
run: |
sudo apt update
sudo apt install --yes fsharp
./scripts/install_snapcraft.sh
./configure.sh && ./scripts/snap_release.sh