This repository was archived by the owner on Jun 13, 2024. It is now read-only.
This repository was archived by the owner on Jun 13, 2024. It is now read-only.
Powershell publish-module now failing in 2.1-bionic #575
Open
Description
Steps to reproduce the issue
- Using a dockerfile like this
FROM mcr.microsoft.com/dotnet/core/sdk:2.1-bionic
RUN dotnet tool install --global PowerShell \
&& apt-get update \
&& apt-get install zip python3 python3-pip -y \
&& pip3 install awscli --upgrade
RUN export PATH="$PATH:/root/.dotnet/tools" \
&& export PATH=~/.local/bin:$PATH \
&& pwsh "Install-Module AWSLambdaPSCore -Confirm:\$false -force; Import-Module AWSLambdaPSCore;"
ENTRYPOINT [ "pwsh" ]
ENV PATH="~/.local/bin:/root/.dotnet/tools:${PATH}"
- And a psd1 file like
#
# Module manifest for module 'CommonFunctions'
#
# Generated by: Brian Olson
#
# Generated on: 1/24/2020
#
@{
# Script module or binary module file associated with this manifest.
RootModule = 'CommonFunctions.psm1'
# Version number of this module.
ModuleVersion = '0.0.1'
# Supported PSEditions
# CompatiblePSEditions = @()
# ID used to uniquely identify this module
GUID = '76912feb-6ad1-49e9-816c-6d1da3e35976'
# Author of this module
Author = 'Brian Olson'
# Company or vendor of this module
CompanyName = 'Company'
# Copyright statement for this module
Copyright = '(c) 2020 Brian Olson. All rights reserved.'
# Description of the functionality provided by this module
Description = 'Common functions for managing windows machines'
# Minimum version of the Windows PowerShell engine required by this module
# PowerShellVersion = ''
# Name of the Windows PowerShell host required by this module
# PowerShellHostName = ''
# Minimum version of the Windows PowerShell host required by this module
# PowerShellHostVersion = ''
# Minimum version of Microsoft .NET Framework required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# DotNetFrameworkVersion = ''
# Minimum version of the common language runtime (CLR) required by this module. This prerequisite is valid for the PowerShell Desktop edition only.
# CLRVersion = ''
# Processor architecture (None, X86, Amd64) required by this module
# ProcessorArchitecture = ''
# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()
# Assemblies that must be loaded prior to importing this module
# RequiredAssemblies = @()
# Script files (.ps1) that are run in the caller's environment prior to importing this module.
# ScriptsToProcess = @()
# Type files (.ps1xml) to be loaded when importing this module
# TypesToProcess = @()
# Format files (.ps1xml) to be loaded when importing this module
# FormatsToProcess = @()
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()
# Functions to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no functions to export.
FunctionsToExport = '*'
# Cmdlets to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no cmdlets to export.
CmdletsToExport = '*'
# Variables to export from this module
VariablesToExport = '*'
# Aliases to export from this module, for best performance, do not use wildcards and do not delete the entry, use an empty array if there are no aliases to export.
AliasesToExport = '*'
# DSC resources to export from this module
# DscResourcesToExport = @()
# List of all modules packaged with this module
# ModuleList = @()
# List of all files packaged with this module
# FileList = @()
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{
PSData = @{
# Tags applied to this module. These help with module discovery in online galleries.
# Tags = @()
# A URL to the license for this module.
# LicenseUri = ''
# A URL to the main website for this project.
# ProjectUri = ''
# A URL to an icon representing this module.
# IconUri = ''
# ReleaseNotes of this module
# ReleaseNotes = ''
} # End of PSData hashtable
} # End of PrivateData hashtable
# HelpInfo URI of this module
# HelpInfoURI = ''
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''
}
- Then run
new-item -itemtype Directory -Path /tmp/ -Name "localpsrepo";
Register-PSRepository -Name LocalPSRepo -SourceLocation '/tmp/localpsrepo' -ScriptSourceLocation '/tmp/localpsrepo' -InstallationPolicy Trusted;
publish-module -Name '/<path_to_psd>/CommonFunctions.psd1' -Repository LocalPSRepo -NuGetApiKey 'AnyStringWillDo';
- I see
PS /tmp> publish-module -Name '/tmp/ssm/windows-general-config/util/CommonFunctions.psd1' -Repository LocalPSRepo -NuGetApiKey 'AnyStringWillDo';
WARNING: This module '/tmp/275929146/CommonFunctions/CommonFunctions.psd1' has exported functions. As a best practice, include exported functions in the module manifest file(.psd1). You can run Update-ModuleManifest -FunctionsToExport to update the manifest with ExportedFunctions field.
Publish-PSArtifactUtility : Failed to generate the compressed file for module 'dotnet cli failed to pack Microsoft (R) Build Engine version 16.0.450+ga8dc7f1d34 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restore completed in 4.16 sec for /tmp/731842da-0bd1-4f6e-a9c7-02eff13cfe15/Temp.csproj.
Temp -> /tmp/731842da-0bd1-4f6e-a9c7-02eff13cfe15/bin/Debug/netcoreapp2.0/NotUsed.dll
/usr/share/dotnet/sdk/2.1.607/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets(199,5): error : The DateTimeOffset specified cannot be converted into a Zip file timestamp. [/tmp/731842da-0bd1-4f6e-a9c7-02eff13cfe15/Temp.csproj]
/usr/share/dotnet/sdk/2.1.607/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets(199,5): error : Parameter name: value [/tmp/731842da-0bd1-4f6e-a9c7-02eff13cfe15/Temp.csproj]
'.
At /root/.dotnet/tools/.store/powershell/6.2.3/powershell/6.2.3/tools/netcoreapp2.1/any/unix/Modules/PowerShellGet/PSModule.psm1:10784 char:17
+ ... Publish-PSArtifactUtility @PublishPSArtifactUtility_Param ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : FailedToCreateCompressedModule,Publish-PSArtifactUtility
- The interesting part looks to be
The DateTimeOffset specified cannot be converted into a Zip file timestamp.
Expected behavior
I would expect it to create a valid nuget package file in /tmp/localpsrepo/
Actual behavior
I get the error
Publish-PSArtifactUtility : Failed to generate the compressed file for module 'dotnet cli failed to pack Microsoft (R) Build Engine version 16.0.450+ga8dc7f1d34 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
Restore completed in 4.16 sec for /tmp/731842da-0bd1-4f6e-a9c7-02eff13cfe15/Temp.csproj.
Temp -> /tmp/731842da-0bd1-4f6e-a9c7-02eff13cfe15/bin/Debug/netcoreapp2.0/NotUsed.dll
/usr/share/dotnet/sdk/2.1.607/Sdks/NuGet.Build.Tasks.Pack/build/NuGet.Build.Tasks.Pack.targets(199,5): error : The DateTimeOffset specified cannot be converted into a Zip file timestamp. [/tmp/731842da-0bd1-4f6e-a9c7-02eff13cfe15/Temp.csproj]
Additional information (e.g. issue happens only occasionally)
This was working about a week and a half ago, on the same base container.
Output of docker version
PS C:\Users\bolson\Documents\GitHub\dt-tsplus-infra\lambda> docker version
Client: Docker Engine - Community
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:22:37 2019
OS/Arch: windows/amd64
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.12)
Go version: go1.12.12
Git commit: 633a0ea
Built: Wed Nov 13 07:29:19 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.10
GitCommit: b34a5c8af56e510852c35414db4c1f4fa6172339
runc:
Version: 1.0.0-rc8+dev
GitCommit: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
docker-init:
Version: 0.18.0
GitCommit: fec3683
Output of docker info
PS C:\Users\bolson\Documents\GitHub\dt-tsplus-infra\lambda> docker info
Client:
Debug Mode: false
Plugins:
app: Docker Application (Docker Inc., v0.8.0)
buildx: Build with BuildKit (Docker Inc., v0.3.1-tp-docker)
Server:
Containers: 3
Running: 0
Paused: 0
Stopped: 3
Images: 14
Server Version: 19.03.5
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
init version: fec3683
Security Options:
seccomp
Profile: default
Kernel Version: 4.19.76-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 959.3MiB
Name: docker-desktop
ID: 3IEB:2FJL:J6WZ:JR3F:OTXQ:GQ6F:L2AO:7ZTO:RTVT:X2SM:VWY2:BUGX
Docker Root Dir: /var/lib/docker
Debug Mode: true
File Descriptors: 34
Goroutines: 51
System Time: 2020-01-24T21:46:45.133546244Z
EventsListeners: 3
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine
I had mentioned this here and @MichaelSimons suggested moving this over here.
He thought it might be related to this Nuget issue
I'm stumped, and I'd really appreciate any help!