Compare commits
97 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ea2b986ed | |||
| 1a111f3e5c | |||
| 1e50d2d968 | |||
| c9ed2f9d11 | |||
| e997e9e934 | |||
| dca364fcdb | |||
| 8b01adb6c0 | |||
| 4c9c326cab | |||
| 7fbc001811 | |||
| acce0a295a | |||
| db588f6323 | |||
| c3a220ac09 | |||
| 58362e99d6 | |||
| 82e37a11c9 | |||
| 57ea5543a0 | |||
| 6ac541a152 | |||
| 710d16ce77 | |||
| a9a1e21f04 | |||
| b591576203 | |||
| b97793e13e | |||
| b844ed6c6d | |||
| 8a0545cb70 | |||
| 34306dce78 | |||
| 2e49d3e53d | |||
| c18c2ac1ac | |||
| b2fe27c0b9 | |||
| c27e49f619 | |||
| 9d9bd2c789 | |||
| 017e64abe3 | |||
| dfb38cff48 | |||
| 4e55ba98df | |||
| 6e78c4b835 | |||
| 6ab1ee80cb | |||
| 6712407a7f | |||
| 91c89f70d1 | |||
| 13c5817e5c | |||
| 38f14f667d | |||
| 5735a29e98 | |||
| 25beb00b9f | |||
| 260b2b7fbc | |||
| 187f998b00 | |||
| 7dad0a857d | |||
| bf5a404e5b | |||
| 307dc6197a | |||
| 868a8c05e8 | |||
| df37e8bf8f | |||
| b895c36713 | |||
| d0f2864c56 | |||
| c8892db080 | |||
| dc914fd71a | |||
| 293cbf311d | |||
| 090a19ca59 | |||
| 00a50d6501 | |||
| 562bf9fcb9 | |||
| 8ad5091061 | |||
| f18d1622a0 | |||
| e891add10b | |||
| 2021212951 | |||
| 814ab7ec6d | |||
| 68009643bb | |||
| 9291170abe | |||
| ed61881ea7 | |||
| 15cbc5916e | |||
| 0e28055e56 | |||
| d3edc80ad6 | |||
| 2689509c1b | |||
| aa3776fc05 | |||
| f1bfe9ec2a | |||
| 426f431301 | |||
| cf20b665a4 | |||
| 0783ef2ad9 | |||
| 7b21874c08 | |||
| 98429fb586 | |||
| ce802984c0 | |||
| abba187441 | |||
| eab7225c23 | |||
| ba4d1dead0 | |||
| bbbdbbf479 | |||
| 078e4a8546 | |||
| 690124df27 | |||
| 5d20670749 | |||
| e89bc70e56 | |||
| 889792e4fa | |||
| eba638186e | |||
| 808755602f | |||
| 72a65bfa06 | |||
| 37c1fbd5d5 | |||
| f7ed56c974 | |||
| 19f60e7cf5 | |||
| 333033608c | |||
| 7cea0f8549 | |||
| 817f326783 | |||
| 5b3b061dd1 | |||
| e33ef4429e | |||
| c455148af9 | |||
| 2873528ad9 | |||
| 772e7814a5 |
@@ -0,0 +1 @@
|
||||
* @actions/setup-actions-team
|
||||
@@ -0,0 +1,31 @@
|
||||
name: Generate Go package
|
||||
run-name: Generate Go ${{ inputs.VERSION || '1.19.0' }}
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
VERSION:
|
||||
description: 'Go version to build and upload'
|
||||
required: true
|
||||
default: '1.19.0'
|
||||
PUBLISH_RELEASES:
|
||||
description: 'Whether to publish releases'
|
||||
type: boolean
|
||||
required: true
|
||||
default: false
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'versions-manifest.json'
|
||||
- 'LICENSE'
|
||||
- '**.md'
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
go:
|
||||
name: Go
|
||||
uses: actions/versions-package-tools/.github/workflows/build-tool-packages.yml@main
|
||||
with:
|
||||
tool-name: "go"
|
||||
tool-version: ${{ inputs.VERSION || '1.19.0' }}
|
||||
publish-release: ${{ inputs.PUBLISH_RELEASES || false }}
|
||||
secrets: inherit
|
||||
@@ -0,0 +1,70 @@
|
||||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ main ]
|
||||
schedule:
|
||||
- cron: '25 17 * * 1'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'go' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Learn more about CodeQL language support at https://git.io/codeql-language-support
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
@@ -0,0 +1,10 @@
|
||||
name: Create Pull Request
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
create-pr:
|
||||
uses: actions/versions-package-tools/.github/workflows/create-pr-to-update-manifest.yml@main
|
||||
with:
|
||||
tool-name: "go"
|
||||
secrets: inherit
|
||||
@@ -0,0 +1,13 @@
|
||||
name: Get Go versions
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3,15 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
get-new-go-versions:
|
||||
uses: actions/versions-package-tools/.github/workflows/get-new-tool-versions.yml@main
|
||||
with:
|
||||
tool-name: "Go"
|
||||
image-url: "https://go.dev/images/gopher-footer.jpg"
|
||||
secrets: inherit
|
||||
@@ -0,0 +1,21 @@
|
||||
name: Validate manifest
|
||||
on:
|
||||
# The GITHUB_TOKEN secret is used to create a PR
|
||||
# The pull_request event will not be triggered by it
|
||||
# That's one of the reasons we need the schedule to validate the versions-manifest.json file
|
||||
schedule:
|
||||
- cron: '0 8,20 * * *'
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'versions-manifest.json'
|
||||
|
||||
jobs:
|
||||
manifest:
|
||||
uses: actions/versions-package-tools/.github/workflows/validate-manifest.yml@main
|
||||
with:
|
||||
tool-name: "Go"
|
||||
image-url: "https://go.dev/images/gopher-footer.jpg"
|
||||
secrets: inherit
|
||||
+4
-6
@@ -29,22 +29,20 @@ Here are a few things you can do that will increase the likelihood of your pull
|
||||
### Directory structure
|
||||
```
|
||||
|
||||
├── azure-pipelines/
|
||||
| └──templates/
|
||||
├── .github/
|
||||
| └──workflows/
|
||||
├── builders/
|
||||
├── helpers/
|
||||
├── installers/
|
||||
└── tests/
|
||||
└──sources/
|
||||
```
|
||||
- `azure-pipelines*` - contains global YAML definitions for build pipelines. Reusable templates for specific jobs are located in `templates` subfolder.
|
||||
- `.github/workflows` - contains repository workflow files.
|
||||
- `builders` - contains Go builder classes and functions.
|
||||
- `helpers` - contains global helper functions and functions.
|
||||
- `helpers` - contains global helper classes and functions.
|
||||
- `installers` - contains installation script templates.
|
||||
- `tests` - contains test scripts. Required tests sources are located in `sources` subfolder.
|
||||
|
||||
\* _We use Azure Pipelines because there are a few features that Actions is still missing, we'll move to Actions as soon as possible_.
|
||||
|
||||
## Resources
|
||||
|
||||
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# Go for Actions
|
||||
This repository contains the code and scripts that we use to prepare Go packages used in [virtual-environments](https://github.com/actions/virtual-environments) and accessible through the [setup-go](https://github.com/actions/setup-go) Action.
|
||||
This repository contains the code and scripts that we use to prepare Go packages used in [runner-images](https://github.com/actions/runner-images) and accessible through the [setup-go](https://github.com/actions/setup-go) Action.
|
||||
The file [versions-manifest.json](./versions-manifest.json) contains the list of available and released versions.
|
||||
|
||||
> Caution: this is prepared for and only permitted for use by actions `virtual-environments` and `setup-go` action.
|
||||
> Caution: this is prepared for and only permitted for use by actions `runner-images` and `setup-go` action.
|
||||
|
||||
**Status**: Currently under development and in use for beta and preview actions. This repo is undergoing rapid changes.
|
||||
|
||||
Latest of LTS versions will be installed on the [virtual-environments](https://github.com/actions/virtual-environments) images. Other versions will be pulled JIT using the [`setup-go`](https://github.com/actions/setup-go) action.
|
||||
Latest of LTS versions will be installed on the [runner-images](https://github.com/actions/runner-images) images. Other versions will be pulled JIT using the [`setup-go`](https://github.com/actions/setup-go) action.
|
||||
|
||||
## Adding new versions
|
||||
We are trying to prepare packages for new versions of Go as soon as they are released. Please open an issue in [actions/virtual-environments](https://github.com/actions/virtual-environments) if any versions are missing.
|
||||
We are trying to prepare packages for new versions of Go as soon as they are released. Please open an issue in [actions/runner-images](https://github.com/actions/runner-images) if any versions are missing.
|
||||
|
||||
## Contribution
|
||||
Contributions are welcome! See [Contributor's Guide](./CONTRIBUTING.md) for more details about contribution process and code structure
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
name: $(date:yyyyMMdd)$(rev:.r)-Go-$(VERSION)
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
paths:
|
||||
exclude:
|
||||
- versions-manifest.json
|
||||
|
||||
stages:
|
||||
- stage: Build_Go_Darwin
|
||||
dependsOn: []
|
||||
variables:
|
||||
Platform: darwin
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/build-job.yml
|
||||
|
||||
- stage: Test_Go_Darwin
|
||||
condition: succeeded()
|
||||
dependsOn: Build_Go_Darwin
|
||||
variables:
|
||||
VmImage: macOS-latest
|
||||
Platform: darwin
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/test-job.yml
|
||||
|
||||
- stage: Build_Go_Linux
|
||||
dependsOn: []
|
||||
variables:
|
||||
Platform: linux
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/build-job.yml
|
||||
|
||||
- stage: Test_Go_Linux
|
||||
condition: succeeded()
|
||||
dependsOn: Build_Go_Linux
|
||||
variables:
|
||||
VmImage: ubuntu-latest
|
||||
Platform: linux
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/test-job.yml
|
||||
|
||||
- stage: Build_Go_Windows
|
||||
dependsOn: []
|
||||
variables:
|
||||
Platform: win32
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/build-job.yml
|
||||
|
||||
- stage: Test_Go_Windows
|
||||
condition: succeeded()
|
||||
dependsOn: Build_Go_Windows
|
||||
variables:
|
||||
VmImage: windows-latest
|
||||
Platform: win32
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/test-job.yml
|
||||
@@ -1,21 +0,0 @@
|
||||
jobs:
|
||||
- job: Build_Go
|
||||
timeoutInMinutes: 90
|
||||
pool:
|
||||
name: Azure Pipelines
|
||||
vmImage: ubuntu-latest
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Build Go $(Version)'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: './builders/build-go.ps1'
|
||||
arguments: '-Version $(Version) -Platform $(Platform) -Architecture $(Architecture)'
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish Artifact: Go $(Version)'
|
||||
inputs:
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||
artifactName: 'go-$(Version)-$(Platform)-$(Architecture)'
|
||||
@@ -1,75 +0,0 @@
|
||||
jobs:
|
||||
- job: Test_Go
|
||||
pool:
|
||||
name: Azure Pipelines
|
||||
vmImage: $(VmImage)
|
||||
steps:
|
||||
- checkout: self
|
||||
submodules: true
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Fully cleanup the toolcache directory before testing
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: helpers/clean-toolcache.ps1
|
||||
arguments: -ToolName "go"
|
||||
|
||||
- task: DownloadPipelineArtifact@2
|
||||
inputs:
|
||||
source: 'current'
|
||||
artifact: 'go-$(Version)-$(Platform)-$(Architecture)'
|
||||
path: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
- task: ExtractFiles@1
|
||||
inputs:
|
||||
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/go-$(Version)-$(Platform)-$(Architecture).*'
|
||||
destinationFolder: $(Build.BinariesDirectory)
|
||||
cleanDestinationFolder: false
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Apply build artifact to the local machines'
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
if ("$(Platform)" -match 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh }
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- task: GoTool@0
|
||||
inputs:
|
||||
version: '$(Version)'
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Wait for the logs'
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
Write-Host "Fake step that do nothing"
|
||||
Write-Host "We need it because log of previous step 'Use Go' is not available here yet."
|
||||
Write-Host "In testing step (Go.Tests.ps1) we analyze build log of 'GoTool' task"
|
||||
Write-Host "to determine if Go version was consumed from cache and was downloaded"
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Run tests'
|
||||
inputs:
|
||||
TargetType: inline
|
||||
script: |
|
||||
Install-Module Pester -Force -Scope CurrentUser -RequiredVersion 4.10.1
|
||||
Import-Module Pester
|
||||
$pesterParams = @{
|
||||
Path="./Go.Tests.ps1";
|
||||
Parameters=@{
|
||||
Version="$(Version)";
|
||||
}
|
||||
}
|
||||
Invoke-Pester -Script $pesterParams -OutputFile "$(Build.SourcesDirectory)/tests/test_results.xml" -OutputFormat NUnitXml
|
||||
workingDirectory: '$(Build.SourcesDirectory)/tests'
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: 'Publish test results'
|
||||
inputs:
|
||||
testResultsFiles: '*.xml'
|
||||
testResultsFormat: NUnit
|
||||
searchFolder: 'tests'
|
||||
failTaskOnFailedTests: true
|
||||
testRunTitle: "Go $(Version)-$(Platform)"
|
||||
condition: always()
|
||||
@@ -1,5 +1,5 @@
|
||||
using module "./builders/win-go-builder.psm1"
|
||||
using module "./builders/nix-go-builder.psm1"
|
||||
using module "./win-go-builder.psm1"
|
||||
using module "./nix-go-builder.psm1"
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
||||
@@ -16,10 +16,13 @@ class GoBuilder {
|
||||
The architecture with which Go should be built.
|
||||
|
||||
.PARAMETER TempFolderLocation
|
||||
The location of temporary files that will be used during Go package generation. Using system BUILD_STAGINGDIRECTORY variable value.
|
||||
The location of temporary files that will be used during Go package generation.
|
||||
|
||||
.PARAMETER ArtifactLocation
|
||||
The location of generated Go artifact. Using system environment BUILD_BINARIESDIRECTORY variable value.
|
||||
.PARAMETER WorkFolderLocation
|
||||
The location of installation files.
|
||||
|
||||
.PARAMETER ArtifactFolderLocation
|
||||
The location of generated Go artifact.
|
||||
|
||||
.PARAMETER InstallationTemplatesLocation
|
||||
The location of installation script template. Using "installers" folder from current repository.
|
||||
@@ -40,9 +43,8 @@ class GoBuilder {
|
||||
$this.Architecture = $architecture
|
||||
|
||||
$this.TempFolderLocation = [IO.Path]::GetTempPath()
|
||||
$this.WorkFolderLocation = $env:BUILD_BINARIESDIRECTORY
|
||||
$this.ArtifactFolderLocation = $env:BUILD_STAGINGDIRECTORY
|
||||
|
||||
$this.WorkFolderLocation = Join-Path $env:RUNNER_TEMP "binaries"
|
||||
$this.ArtifactFolderLocation = Join-Path $env:RUNNER_TEMP "artifact"
|
||||
|
||||
$this.InstallationTemplatesLocation = Join-Path -Path $PSScriptRoot -ChildPath "../installers"
|
||||
}
|
||||
@@ -95,6 +97,10 @@ class GoBuilder {
|
||||
Generates Go artifact from downloaded binaries.
|
||||
#>
|
||||
|
||||
Write-Host "Create WorkFolderLocation and ArtifactFolderLocation folders"
|
||||
New-Item -Path $this.WorkFolderLocation -ItemType "directory"
|
||||
New-Item -Path $this.ArtifactFolderLocation -ItemType "directory"
|
||||
|
||||
Write-Host "Download Go $($this.Version) [$($this.Architecture)] executable..."
|
||||
$binariesArchivePath = $this.Download()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using module "./builders/go-builder.psm1"
|
||||
using module "./go-builder.psm1"
|
||||
|
||||
class NixGoBuilder : GoBuilder {
|
||||
<#
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using module "./builders/go-builder.psm1"
|
||||
using module "./go-builder.psm1"
|
||||
|
||||
class WinGoBuilder : GoBuilder {
|
||||
<#
|
||||
|
||||
+1
-1
Submodule helpers updated: 68072bedef...6f1aa3ce73
+29
-19
@@ -1,19 +1,21 @@
|
||||
param (
|
||||
[version] [Parameter (Mandatory = $true)] [ValidateNotNullOrEmpty()]
|
||||
$Version
|
||||
)
|
||||
|
||||
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
|
||||
Import-Module (Join-Path $PSScriptRoot "../helpers/common-helpers.psm1")
|
||||
|
||||
function Get-UseGoLogs {
|
||||
$logsFolderPath = Join-Path -Path $env:AGENT_HOMEDIRECTORY -ChildPath "_diag" | Join-Path -ChildPath "pages"
|
||||
BeforeAll {
|
||||
Set-Location -Path "source"
|
||||
$sourceLocation = Get-Location
|
||||
|
||||
$useGoLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
|
||||
$logContent = Get-Content $_.Fullname -Raw
|
||||
return $logContent -match "GoTool"
|
||||
} | Select-Object -First 1
|
||||
return $useGoLogFile.Fullname
|
||||
function Get-UseGoLogs {
|
||||
# GitHub Windows images don't have `HOME` variable
|
||||
$homeDir = $env:HOME ?? $env:HOMEDRIVE
|
||||
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
|
||||
|
||||
$useGoLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
|
||||
$logContent = Get-Content $_.Fullname -Raw
|
||||
return $logContent -match "setup-go@v"
|
||||
} | Select-Object -First 1
|
||||
return $useGoLogFile.Fullname
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Go" {
|
||||
@@ -22,6 +24,7 @@ Describe "Go" {
|
||||
}
|
||||
|
||||
It "version is correct" {
|
||||
[version]$Version = $env:VERSION
|
||||
$versionOutput = Invoke-Expression -Command "go version"
|
||||
$finalVersion = $Version.ToString(3)
|
||||
If ($Version.Build -eq "0"){
|
||||
@@ -33,7 +36,10 @@ Describe "Go" {
|
||||
It "is used from tool-cache" {
|
||||
$goPath = (Get-Command "go").Path
|
||||
$goPath | Should -Not -BeNullOrEmpty
|
||||
$expectedPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "go"
|
||||
|
||||
# GitHub Windows images don't have `AGENT_TOOLSDIRECTORY` variable
|
||||
$toolcacheDir = $env:AGENT_TOOLSDIRECTORY ?? $env:RUNNER_TOOL_CACHE
|
||||
$expectedPath = Join-Path -Path $toolcacheDir -ChildPath "go"
|
||||
$goPath.startsWith($expectedPath) | Should -BeTrue -Because "'$goPath' is not started with '$expectedPath'"
|
||||
}
|
||||
|
||||
@@ -42,18 +48,18 @@ Describe "Go" {
|
||||
$useGoLogFile = Get-UseGoLogs
|
||||
$useGoLogFile | Should -Exist
|
||||
$useGoLogContent = Get-Content $useGoLogFile -Raw
|
||||
$useGoLogContent | Should -Match "Found tool in cache"
|
||||
$useGoLogContent | Should -Match "Found in cache"
|
||||
}
|
||||
|
||||
Set-Location -Path "source"
|
||||
$sourceLocation = Get-Location
|
||||
|
||||
It "Run simple code" {
|
||||
$simpleLocation = Join-Path -Path $sourceLocation -ChildPath "simple"
|
||||
Set-Location -Path $simpleLocation
|
||||
"go run simple.go" | Should -ReturnZeroExitCode
|
||||
"go build simple.go" | Should -ReturnZeroExitCode
|
||||
"./simple" | Should -ReturnZeroExitCode
|
||||
$compiledPackageName = "simple"
|
||||
if ($IsWindows) { $compiledPackageName += ".exe" }
|
||||
(Resolve-Path "./$compiledPackageName").Path | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "Run maps code" {
|
||||
@@ -61,7 +67,9 @@ Describe "Go" {
|
||||
Set-Location -Path $mapsLocation
|
||||
"go run maps.go" | Should -ReturnZeroExitCode
|
||||
"go build maps.go" | Should -ReturnZeroExitCode
|
||||
"./maps" | Should -ReturnZeroExitCode
|
||||
$compiledPackageName = "maps"
|
||||
if ($IsWindows) { $compiledPackageName += ".exe" }
|
||||
(Resolve-Path "./$compiledPackageName").Path | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "Run methods code" {
|
||||
@@ -69,6 +77,8 @@ Describe "Go" {
|
||||
Set-Location -Path $methodsLocation
|
||||
"go run methods.go" | Should -ReturnZeroExitCode
|
||||
"go build methods.go" | Should -ReturnZeroExitCode
|
||||
"./methods" | Should -ReturnZeroExitCode
|
||||
$compiledPackageName = "methods"
|
||||
if ($IsWindows) { $compiledPackageName += ".exe" }
|
||||
(Resolve-Path "./$compiledPackageName").Path | Should -ReturnZeroExitCode
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user