How to use Go Beta/RC version in azure pipeline - go

I want to use a beta or release candiate of Go in the azure pipeline, but the Task "Go tool installer" doesn't work with a version like "1.17rc1".
Pipeline
$(go_version) = 1.17rc1
steps:
- task: GoTool#0
displayName: Install Go tools in version $(go_version)
inputs:
version: $(go_version)
Output
2021-07-15T08:01:13.5566938Z ##[section]Starting: Install Go tools in version 1.17rc1
2021-07-15T08:01:13.5573377Z ==============================================================================
2021-07-15T08:01:13.5573650Z Task : Go tool installer
2021-07-15T08:01:13.5574064Z Description : Find in cache or download a specific version of Go and add it to the PATH
2021-07-15T08:01:13.5574305Z Version : 0.180.0
2021-07-15T08:01:13.5574495Z Author : Microsoft Corporation
2021-07-15T08:01:13.5574776Z Help : https://learn.microsoft.com/azure/devops/pipelines/tasks/tool/go-tool
2021-07-15T08:01:13.5575073Z ==============================================================================
2021-07-15T08:01:13.8414712Z Downloading: https://storage.googleapis.com/golang/go1.17rc1.linux-amd64.tar.gz
2021-07-15T08:01:16.3008064Z Extracting archive
2021-07-15T08:01:16.3027619Z [command]/usr/bin/tar xC /home/vsts/work/_temp/50a79994-bdb5-417d-8374-cd9746166c5f -f /home/vsts/work/_temp/d2be4a68-029c-4393-8492-5b804e41857e
2021-07-15T08:01:19.0933870Z Caching tool: go null x64
2021-07-15T08:01:19.1004014Z ##[error]TypeError: Cannot read property 'trim' of null
2021-07-15T08:01:19.1090132Z ##[section]Finishing: Install Go tools in version 1.17rc1

It looks like an issue with the task itself. It throws here:
async function run() {
try {
let version = tl.getInput('version', true).trim();
await getGo(version);
telemetry.emitTelemetry('TaskHub', 'GoToolV0', { version });
}
catch (error) {
tl.setResult(tl.TaskResult.Failed, error);
}
}
And this is kind of strange as I don't see here any logic preventing from putting there 1.17rc1. I created and issue for this on GitHub

Related

How can I query contract info with the latest polkadot-js and substrate contracts node?

I've been unable to query my existing contract recently due to Unable to create Enum via index 128, in Alive, Tombstone when using api.query.contracts.contractInfoOf. I get this error both on the command line and in the polkadot-js apps explorer.
These are the steps I took:
Deploy a contract with a salt
Retrieve the contract deployedAddress
Use contractInfoOf
const contractInfo = await api.query.contracts.contractInfoOf(deployedAddress);
I've tried downgrading ink! to 3.0-rc5, 3.0-rc4, 3.0-rc3 and then compiling but it doesn't seem to make any difference. Whenever my contract is built it references rc6 at the top:
{"metadataVersion":"0.1.0","source":{"hash":"0x...","language":"ink! 3.0.0-rc6","compiler":"rustc 1.58.0-nightly",
Which suggests its ignoring my .toml and using rc6 to compile the contract.
I changed my cargo-contract version to 0.14 but that causes polkadot-js to fail at reading the contract abi.
I've tried using the substrate-contracts-node using the latest commit from master and also using the v0.1.0 release. Same error in both cases.
> rustup info
stable-x86_64-unknown-linux-gnu (default)
rustc 1.56.1 (59eed8a2a 2021-11-01)
There are more details in an issue on polkadot-js.
Any pointers on how to get a working setup would be very helpful!
The problem here was substrate-contracts-node using an old version of the metadata.
I was able to check out the repo before the metadata merge was reverted and build locally (cargo build).
So checkout 8d91b8e to get the node to work with versions 7.7.1 and 6.6.1 of polkadot-js packages.
> git checkout 8d91b8e578065a7c06433cbd41ac059bf478a0bd
> cargo build
> ./target/debug/substrate-contracts-node --dev --tmp --version
substrate-contracts-node 0.1.0-8d91b8e-x86_64-linux-gnu

What reasons stop GitHub turning the 'tag' into a 'release'

I manage an electron application and have successfully been using electron-squirrel-startup, update.electronjs.org and my public GitHub repo for automatic updates. I have needed to update my application packing from electron-installer-windows to electron-winstaller.
Packaging into an installer has been great, and solved the issue I had with electron-installer-windows, but something is up with the auto-updates. I wish my app to update from 3.8.17 to 3.8.20. The issue is probably in my configuration/deployment of a step in this chain, but I have reached the end of my debugging powers.
In short:
the call to find a new version continues to return the current version info ... because ...
GitHub does not turn the 'tag' into a 'release'
Question:
Is anyone else experiencing this?
Any thoughts on how to further debug?
Details:
GitHub I have a tagged release, with .exe, .nupkg and RELEASES files. It is marked as the latest release, is visible in "tags", but not actually visible in "releases". There is something about my files that is not triggering GitHub to actually set it as a "release".
Comparing nupgk info (.zip > unzip > dan_client.nuspec) with that from electron-installer-windows, it is identical format, and the sha1 check-sum has been verified using cmd: certutil -hashfile <filename> sha1
Same for the RELEASES file.
main.js
Standard code here. update-electron-app is called as expected.
require('update-electron-app')({
repo: `${owner}/${repo}`,
logger: require('electron-log'),
notifyUser: false
})
Squirrel-CheckForUpdate.log
The call to update.electron.js sent as expected:
[09/11/21 22:58:57] info: Program: Starting Squirrel Updater: --checkForUpdate https://update.electronjs.org/DentalAudioNotes/dan-client-builds/win32-x64/3.8.17
[09/11/21 22:58:57] info: Program: Fetching update information, downloading from https://update.electronjs.org/DentalAudioNotes/dan-client-builds/win32-x64/3.8.17
[09/11/21 22:58:57] info: CheckForUpdateImpl: Using existing staging user ID: a3883120-9694-5b86-8981-1b1015c25a13
[09/11/21 22:58:57] info: CheckForUpdateImpl: Downloading RELEASES file from https://update.electronjs.org/DentalAudioNotes/dan-client-builds/win32-x64/3.8.17
[09/11/21 22:58:57] info: FileDownloader: Downloading url: https://update.electronjs.org/DentalAudioNotes/dan-client-builds/win32-x64/3.8.17/RELEASES?id=dan_client&localVersion=3.8.17&arch=amd64
[09/11/21 22:58:58] info: Program: Finished Squirrel Updater
Testing the response by plugging the url into the browser:
.../win32-x64/3.8.17(link) => Status Code: 204 No Content
.../win32-x64/3.8.17/RELEASES?id=dan_client&localVersion=3.8.17&arch=amd64 (link) => 995ECDBC10F717E0704F5B774533EA2977C725C1 https://github.com/DentalAudioNotes/dan-client-builds/releases/download/v3.8.17/dan_client-3.8.17-full.nupkg 85360877
i.e. this call is not picking up the latest build.
If I make the same call with an old version number, say 1.0.0, I get a nice response, but still referring to 3.8.17:
.../win32-x64/1.0.0(link) =>
{
"name":"v3.8.17",
"notes":"...",
"url":"https://github.com/DentalAudioNotes/dan-client-builds/releases/download/v3.8.17/dan_client-setup-3.8.17-live.exe"
}

Go broken import

I'm trying to interact with helm via the go SDK and I'm getting the following error when I try to build my code:
../../../go/pkg/mod/github.com/deislabs/oras#v0.11.1/pkg/oras/push.go:52:31: not enough arguments in call to remotes.PushContent
have (context.Context, remotes.Pusher, v1.Descriptor, "github.com/containerd/containerd/content".Store, nil, func(images.Handler) images.Handler)
want (context.Context, remotes.Pusher, v1.Descriptor, "github.com/containerd/containerd/content".Store, *semaphore.Weighted, platforms.MatchComparer, func(images.Handler) images.Handler)
I've traced it down to package helm.sh/helm/v3/pkg/action :
$ go get helm.sh/helm/v3/pkg/action
# github.com/deislabs/oras/pkg/oras
../../../go/pkg/mod/github.com/deislabs/oras#v0.11.1/pkg/oras/push.go:52:31: not enough arguments in call to remotes.PushContent
have (context.Context, remotes.Pusher, v1.Descriptor, "github.com/containerd/containerd/content".Store, nil, func(images.Handler) images.Handler)
want (context.Context, remotes.Pusher, v1.Descriptor, "github.com/containerd/containerd/content".Store, *semaphore.Weighted, platforms.MatchComparer, func(images.Handler) images.Handler)
I suspect that this is related to this change: https://github.com/helm/helm/commit/663c5698878c959805de053116581d15673e1ce3
How do I fix this? I've tried using older versions of the helm package to no avail.
The signature for github.com/containerd/containerd/remotes.PushContent was changed incompatibly in commit f8c2f0, which was released in v1.5.0. (The containerd Go API appears to be unstable, despite its apparently-semantic version v1.5.5; see containerd#3554.)
The short-term fix is to go get -d github.com/containerd/containerd#v1.4 to downgrade to the latest v1.4.* until your dependencies are compatible with the latest release.
The longer-term fix appears to be helm commit 663c56, which migrates to a different oras library whose latest release is compatible with the containerd v1.5 API. As far as I can tell that commit has not yet been included in a helm release, but you may be able to try it out using go get -d helm.sh/helm/v3/pkg/action#main; see https://golang.org/doc/modules/managing-dependencies#repo_identifier.

Provisioning profile not being accepted?

I'm trying to create a IPA from my cordova-ionic project using visual studio 2015. I can run the project on an iOS simulator using remotebuild.
I have followed the steps here and created a provisioning profile (using my free Apple ID). I am in a tricky situation and the iOS device that I would like to run the project on is in a different country.
I'm creating the provisioning profile on my friend's mac with the iOS device attached. I am then logging into an El Capitan VM on my machine and using the provisioning profile generated on my friend's mac to attempt to create an IPA. I am following what is outlined here and running the project on visual studio using debug and remote device or local device.
I get the following error:
Error: Remote build error from the build server Build failed with error Error code 65 for command:
xcodebuild with args: -xcconfig,/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/cordova/build-debug.xcconfig,-project,BookYourTutor.xcodeproj,ARCHS=armv7 arm64,-target,BookYourTutor,-configuration,Debug,-sdk,iphoneos,build,VALID_ARCHS=armv7 arm64,CONFIGURATION_BUILD_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/sharedpch - 1 BookYourTutor 1
Looking at the output from build, towards the end, i see:
Libtool /Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/device/libCordova.a normal armv7
cd /Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/CordovaLib
export IPHONEOS_DEPLOYMENT_TARGET=8.0
export PATH="/Users/noyolk/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Users/noyolk/Downloads/Xcode-beta.app/Contents/Developer/usr/bin:/Users/noyolk/.taco_home/node_modules/taco-remote-lib/2.2.1/node_modules/taco-remote-lib/node_modules/ios-sim/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Users/noyolk/Downloads/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only armv7 -syslibroot /Users/noyolk/Downloads/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk -L/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/device -filelist /Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/CordovaLib/build/CordovaLib.build/Debug-iphoneos/CordovaLib.build/Objects-normal/armv7/Cordova.LinkFileList -o /Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/device/libCordova.a
=== BUILD TARGET BookYourTutor OF PROJECT BookYourTutor WITH CONFIGURATION Debug ===
Check dependencies
Signing for "BookYourTutor" requires a development team. Select a development team in the project editor.
Code signing is required for product type 'Application' in SDK 'iOS 10.0'
** BUILD FAILED **
The following build commands failed:
Check dependencies
(1 failure)
Failed to build app for buildNumber 708: Error code 65 for command: xcodebuild with args: -xcconfig,/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/cordova/build-debug.xcconfig,-project,BookYourTutor.xcodeproj,ARCHS=armv7 arm64,-target,BookYourTutor,-configuration,Debug,-sdk,iphoneos,build,VALID_ARCHS=armv7 arm64,CONFIGURATION_BUILD_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/sharedpch
MSBUILD : cordova-build error : Error: Remote build error from the build server Build failed with error Error code 65 for command: xcodebuild with args: -xcconfig,/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/cordova/build-debug.xcconfig,-project,BookYourTutor.xcodeproj,ARCHS=armv7 arm64,-target,BookYourTutor,-configuration,Debug,-sdk,iphoneos,build,VALID_ARCHS=armv7 arm64,CONFIGURATION_BUILD_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/sharedpch - 1
Error Remote build error from the build server Build failed with error Error code 65 for command: xcodebuild with args: -xcconfig,/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/cordova/build-debug.xcconfig,-project,BookYourTutor.xcodeproj,ARCHS=armv7 arm64,-target,BookYourTutor,-configuration,Debug,-sdk,iphoneos,build,VALID_ARCHS=armv7 arm64,CONFIGURATION_BUILD_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/Users/noyolk/.taco_home/remote-builds/taco-remote/builds/708/cordovaApp/platforms/ios/build/sharedpch - {1}
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
========== Deploy: 0 succeeded, 0 failed, 0 skipped ==========
With what I believe to be the most important bit being,
=== BUILD TARGET BookYourTutor OF PROJECT BookYourTutor WITH CONFIGURATION Debug ===
Check dependencies
Signing for "BookYourTutor" requires a development team. Select a development team in the project editor.
Code signing is required for product type 'Application' in SDK 'iOS 10.0'
** BUILD FAILED **
I'm having trouble understanding what exactly this means or how I should fix it. For context, I'm using xcode 8 beta 4 on my El Capitan VM.
I've tried searching around for this 'error code 65' and the error message 'Signing for XXX requires a development team. Select a development team in the project editor.' but have not had much luck.
Any help is greatly appreciated.
Downgrading to xcode 7 from xcode 8 beta 4 seems to have resolved this issue.
There is a change due to the release of iOS 10.
Reference https://dpogue.ca/articles/cordova-xcode8.html for a workaround.
I actually had to do some trial and error. The above link helped a lot, but the issues were still with what Apple was needing for XCode 8 to accept the build request. My settings in build.json are similar to this:
"ios": {
"debug": {
"developmentTeam": "[my team id]",
"provisioningProfile: "[my provisioning profile]"
},
"release": {
"developmentTeam": "[my team id]",
"provisioningProfile: "[my provisioning profile]"
}
}
}
To get your developmentTeam, log into developer.apple.com, click on Membership, and you will see your TEAM ID. Put that in as the developmentTeam.
For the provisioningProfile, open XCode --> Preferences, click on your profile, View Details. Click on your provisioning profile, right click, and Show in Finder. Your provisioning profile is the entire file name, minus the .mobileprovision file extension. Save build.json, rebuild your project, and you should be good to go.

How to install DNX Secret Manager in Mac OSX

I'm developing with ASP.NET5 on Mac OS X. I want to implement OAuth and use Secret Manager to store my secret configuration, so I'm following this DNXSecret Configuration page.
https://github.com/aspnet/Home/wiki/DNX-Secret-Configuration
But, after following the instructions, I couldn't successfully install user-secret command to my Mac, and I'm pretty much stuck.
As the first step, I installed DNVM and confirmed dnvm list command returns Mono as the runtime engine.
$ dnvm list
Active Version Runtime Arch Location Alias
------ ------- ------- ---- -------- -----
* 1.0.0-beta4 mono ~/.dnx/runtimes default
I also installed Yeoman, Grunt, Bower etc, and dnu restore command worked fine. I successfully showed a Yeoman scaffolded ASP.NET5 page both locally and on Azure.
Then I started to install Secret Manager, following the above page. In the beginning, the following command failed:
dnu commands install SecretManager
with the error below:
Errors in /Users/<username>/.dnx/bin/packages/SecretManager/1.0.0-beta4/app/project.json
Unable to locate SecretManager >= 1.0.0-beta4-10173
So, I modified the above 'project.json' file in its "dependencies" block as:
{
"version": "1.0.0-*",
"description": "ASP.NET 5 tool to manage user secrets.",
"dependencies": {
"SecretManager": "1.0.0-beta4" // <<- modified here
//"SecretManager": "1.0.0-beta4-10173"
},
"commands": {
"user-secret": "SecretManager"
},
"userSecretsId": "testuserSecretsId",
"frameworks": {
"dnx451": {},
"dnxcore50": {
"dependencies": {
"System.Console": "4.0.0-beta-*"
}
}
},
"entryPoint": "SecretManager",
"loadable": false
}
(before) "SecretManager": "1.0.0-beta4-10173"
(after) "SecretManager": "1.0.0-beta4"
Then the command finished successfully and SecretManager seems to be installed with the result below:
konishis-air:AspNetSocialLoginTest Ryuji$ dnu commands install SecretManager
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='SecretManager'.
OK https://www.nuget.org/api/v2/FindPackagesById()?Id='SecretManager' 1674ms
Restoring packages for /Users/Ryuji/.dnx/bin/packages/e27d166dcf594105be47fff78420df10/project.json
Writing lock file /Users/Ryuji/.dnx/bin/packages/e27d166dcf594105be47fff78420df10/project.lock.json
Restore complete, 246ms elapsed
Restoring packages for /Users/Ryuji/.dnx/bin/packages/SecretManager/1.0.0-beta4/app/project.json
GET https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Console'.
OK https://www.nuget.org/api/v2/FindPackagesById()?Id='System.Console' 1395ms
Writing lock file /Users/Ryuji/.dnx/bin/packages/SecretManager/1.0.0-beta4/app/project.lock.json
Restore complete, 1751ms elapsed
The following commands were installed: .project.json, user-secret
However, when I run user-secret command, I get 'command not found'.
Sorry, that is a known issue and we've fixed in beta5.
You have two options:
Pass the fallback source: dnu commands install secretmanager 1.0.0-beta4 -f https://www.myget.org/F/aspnetrelease/api/v2
Update to the latest beta5 bits

Resources