Our CI hosts use PowerShell 5.1 and 7.4 is required to use this setting:
$PSNativeCommandUseErrorActionPreference = $true
So we have to explicitly check exit codes of native commands.
Without failure is silent, which is especially problematic in Ansible.
Also added check in Install-VC-BuildTools because it fails with exit
code 1 when Build Tools are already installed.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Changes in ordering of PATHs have broken too many things in the past.
This way we also enforce existance of specific version folders which
will fail early instead of continuing and failing in obscure manner.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
To fix windows build issues due to very long paths by
nimbus-build-system
- points status-go to bring in
https://github.com/status-im/status-go/pull/7185
- updates mac,windows host install scripts to include nim
- updates linux dockerfile to install nim
- updates linux docker image tag to use newer image
This commit:
- updates status-go to point to https://github.com/status-im/status-go/pull/6258
- updates nix derivation to switch to go 1.22
- swaps `sc3md` for `sc5md`
- updates docker image used by jenkins for linux jobs to image built with go 1.22.
- updates, linux, windows and MacOS build scripts to use go 1.22
Fixes this failure:
```
error MSB8020: The build tools for Visual Studio 2017 (Platform Toolset = 'v141') cannot be found.
To build using the v141 build tools, please install Visual Studio 2017 build tools.
```
Signed-off-by: Jakub Sokołowski <jakub@status.im>
If we don't installe Go separately this is what happens:
```
PS C:\Users\jenkins> scoop install --global 7zip git dos2unix findutils wget rcedit inno-setup make cmake gcc go@1.20.4
Couldn't find manifest for 'C:\Users\admin\scoop\buckets\main\bucket\go.json7zip git dos2unix findutils wget rcedit inno-setup make cmake gc
```
Seems like some kind of parsing issue with providing a version.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Fixes the following build error:
```
protocol\messenger.go:5957:6: missing function body
protocol\messenger.go:5957:16: syntax error: unexpected [, expecting (
protocol\messenger.go:5959:2: syntax error: non-declaration statement outside function body
note: module requires Go 1.18
```
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This introduces the `scripts/sign-windows-bin.sh` script which is used
by the `Makefile` to sign application libraries and executables. It also
implements the logic necessary to distinguish between different types of
builds: release and non-release builds.
Some other changes:
* Refactore the `Makefile` target that creates the Windows ZIP to make less verbose.
* Added `Microsoft.VisualStudio.Component.Windows10SDK.10240` to VisualStudio component
* Added `BUILD_TYPE` parameter to `Jenkinsfile`s for different platform builds
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Now You can source the script with .(dot) and use individual functions.
This also makes it easier to use in `infra-ci` Ansible roles.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
This originally lived in the `infra-ci` repo but I think it makes more
sense to if to be in this repo, since here it can be changed by devs as
the project evolves.
Signed-off-by: Jakub Sokołowski <jakub@status.im>