Compare commits

...

87 Commits

Author SHA1 Message Date
gitea-actions[bot] d59ac60c2b replace github.com/actions/go-versions to golang.google.cn/dl 2024-08-25 04:24:08 +00:00
github-actions[bot] 070c2a1b84
Update versions-manifest (#105)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-08-14 10:54:57 -05:00
github-actions[bot] 06b75e6f50
Update versions-manifest (#104)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-08-07 10:10:22 -05:00
gowridurgad 435e8c8778
Fix for CodeQL analysis workflow failures (#103)
* Update build-go-packages.yml

* Update build-go-packages.yml

* Update codeql-analysis.yml

* Update build-go-packages.yml

* Update build-go-packages.yml

* Update build-go-packages.yml
2024-07-25 08:50:52 -05:00
aparnajyothi-y ef611dd539
Add test jobs for arm64 architecture (#101)
* Update Go.Tests.ps1

* Update Go.Tests.ps1

* Update Go.Tests.ps1
2024-07-09 10:12:14 -05:00
github-actions[bot] b1013e0081
Update versions-manifest (#102)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-07-03 08:43:05 -05:00
github-actions[bot] 3707979bc0
Update versions-manifest (#100)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-06-04 23:09:33 -05:00
github-actions[bot] 74d3ad35e2
Update versions-manifest (#99)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-05-08 08:05:23 -05:00
github-actions[bot] 497900d985
Update versions-manifest (#98)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-04-04 09:32:58 -05:00
github-actions[bot] 5250a133e2
Update versions-manifest (#97)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-03-05 22:07:18 -06:00
github-actions[bot] c0555276f6
Update versions-manifest (#96)
Co-authored-by: Service account <no-reply@microsoft.com>
2024-02-06 23:19:51 -06:00
HarithaVattikuti de9a0fc11e
Merge pull request #95 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 01/10/2024
2024-01-16 12:07:02 -06:00
Service account 2344cc872a Update versions-manifest 2024-01-10 11:29:25 +00:00
github-actions[bot] 1635b75524
Update versions-manifest (#94)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-12-06 18:16:08 +01:00
github-actions[bot] 2935e07892
Update versions-manifest (#93)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-11-09 15:00:24 +01:00
github-actions[bot] 8196b0fc6b
Update versions-manifest (#92)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-11-08 16:20:09 +01:00
Dmitry Shibanov 6de71f133a
add architecture to installer script (#91) 2023-11-08 13:05:51 +01:00
github-actions[bot] efc7cf9b98
Update versions-manifest (#90)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-11-07 14:49:58 +01:00
github-actions[bot] 2965f72cec
Update versions-manifest (#89)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-10-11 17:06:59 +02:00
github-actions[bot] 6c844dd698
Update versions-manifest (#88)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-10-10 12:26:06 +02:00
github-actions[bot] 54362b0923
Update versions-manifest (#87)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-09-22 14:01:04 +02:00
Dmitry Shibanov 278f715aec
update submodule (#86) 2023-09-22 11:15:17 +02:00
Marko Zivic 873008f3a4
Merge pull request #85 from actions/deprecation-policy
Add Support Notification Policy
2023-09-20 14:01:38 +02:00
Dusan Trickovic 9950b4c24d
Update README.md and Add Support Notification Policy 2023-09-20 12:50:15 +02:00
github-actions[bot] 1871e111e3
Update versions-manifest (#84)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-09-19 18:26:16 +02:00
github-actions[bot] 6461f1df09
Update versions-manifest (#83)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-09-07 10:40:39 +02:00
github-actions[bot] 05b161f8b7
Update versions-manifest (#82)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-08-09 13:03:21 +02:00
Dmitry Shibanov 0e4e5019c1
add minor fix (#81) 2023-08-09 12:48:08 +02:00
github-actions[bot] a42239e7a9
Update versions-manifest (#80) 2023-08-03 09:54:41 +02:00
github-actions[bot] e0a0673ca1
Update versions-manifest (#78) 2023-07-12 10:44:27 +02:00
github-actions[bot] f436eb1900
Update versions-manifest (#77)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-06-30 18:09:53 +02:00
Dmitry Shibanov c2d6080d9a
add arm for regex (#76) 2023-06-30 17:44:16 +02:00
Marko Zivic 55fda57e98
Merge pull request #75 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 06/09/2023
2023-06-09 10:26:04 +02:00
Service account dd670b40fc Update versions-manifest 2023-06-09 05:51:11 +00:00
github-actions[bot] c860efc7e5
Update versions-manifest (#74)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-05-03 12:11:21 +02:00
github-actions[bot] 797449dd8e
Update versions-manifest (#73)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-04-06 10:06:10 +02:00
github-actions[bot] b27d67b686
Update versions-manifest (#72)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-03-08 12:25:40 +01:00
github-actions[bot] 476ac2a1cb
Update versions-manifest (#71)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-02-20 14:30:36 +01:00
github-actions[bot] 4fbaddfe63
Update versions-manifest (#70)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-02-17 11:44:16 +01:00
github-actions[bot] 244f8fdaff
Update versions-manifest (#69)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-02-02 09:29:09 +01:00
Ivan f999e556e9
Update codeql action to use reusable workflow (#68) 2023-01-19 12:35:56 +01:00
github-actions[bot] 2f4bcf5e73
Update versions-manifest (#67)
Co-authored-by: Service account <no-reply@microsoft.com>
2023-01-11 11:32:19 +01:00
Marko Zivic 8666f92fad
Merge pull request #66 from actions/update-codeowners
Update CODEOWNERS
2022-12-27 09:26:45 +01:00
Evgenii Korolevskii 9ea2b986ed
Update CODEOWNERS 2022-12-26 09:50:41 +01:00
Marko Zivic 1a111f3e5c
Merge pull request #64 from MaksimZhukov/introduce-reusable-workflows
Update workflows to use reusable ones
2022-12-14 09:43:52 +01:00
MaksimZhukov 1e50d2d968
Replaced the virtual-environments with the runner-images 2022-12-09 09:27:18 +01:00
github-actions[bot] c9ed2f9d11
Update versions-manifest (#65)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-12-07 11:52:31 +01:00
MaksimZhukov e997e9e934 Update workflows to use reusable ones 2022-12-06 18:59:40 +01:00
github-actions[bot] dca364fcdb
Update versions-manifest (#63) 2022-11-02 12:19:14 +01:00
Marko Zivic 8b01adb6c0
Merge pull request #60 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 10/07/2022
2022-10-07 08:18:49 +02:00
Service account 4c9c326cab Update versions-manifest 2022-10-07 05:43:16 +00:00
github-actions[bot] 7fbc001811
Update versions-manifest (#59)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-09-07 08:19:43 +03:00
Marko Zivic acce0a295a
Merge pull request #52 from actions/aloviedo-patch-1
Create codeql-analysis.yml
2022-08-03 09:27:23 +02:00
github-actions[bot] db588f6323
Update versions-manifest (#58)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-08-03 08:23:44 +03:00
github-actions[bot] c3a220ac09
Update versions-manifest (#57)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-08-02 08:26:14 +03:00
github-actions[bot] 58362e99d6
Update versions-manifest (#56)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-07-13 14:42:59 +03:00
github-actions[bot] 82e37a11c9
Update versions-manifest (#55)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-06-02 09:30:33 +03:00
github-actions[bot] 57ea5543a0
Update versions-manifest (#54) 2022-05-11 12:27:52 +04:00
Marko Zivic 6ac541a152
Merge pull request #53 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 04/15/2022
2022-04-15 10:45:49 +02:00
Service account 710d16ce77 Update versions-manifest 2022-04-15 06:06:18 +00:00
aloviedo a9a1e21f04
Create codeql-analysis.yml 2022-03-30 06:51:56 -07:00
Ethan Chiu b591576203
Merge pull request #51 from actions/ethanchewy/add-slack
Add back slack notification
2022-03-16 10:26:42 -07:00
Ethan Chiu b97793e13e
Add back slack notification 2022-03-16 10:11:36 -07:00
Brian Cristante b844ed6c6d
Merge pull request #50 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 03/15/2022
2022-03-16 11:00:54 -04:00
Service account 8a0545cb70 Update versions-manifest 2022-03-15 21:23:15 +00:00
Brian Cristante 34306dce78
Merge pull request #49 from ethanchewy/patch-1
Comment out slack channel posting
2022-03-15 16:39:58 -04:00
Ethan Chiu 2e49d3e53d
add logging for `message` contents 2022-03-15 11:57:09 -07:00
Ethan Chiu c18c2ac1ac
Comment out slack channel posting
To unblock future go builds immediately
2022-03-15 11:45:08 -07:00
github-actions[bot] b2fe27c0b9
Update versions-manifest (#47)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-02-11 10:48:18 +03:00
github-actions[bot] c27e49f619
Update versions-manifest (#46)
Co-authored-by: Service account <no-reply@microsoft.com>
2022-01-07 22:12:10 +03:00
github-actions[bot] 9d9bd2c789
Update versions-manifest (#45)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-12-09 20:03:07 +03:00
github-actions[bot] 017e64abe3
Update versions-manifest (#43) 2021-12-03 11:16:30 +03:00
github-actions[bot] dfb38cff48
Update versions-manifest (#42)
Co-authored-by: Service account <no-reply@microsoft.com>
2021-11-05 18:30:41 +03:00
Nikolay Frolov 4e55ba98df
Uptake of the latest changes for helpers submodule (#41) 2021-10-14 16:57:30 +03:00
MaksimZhukov 6e78c4b835
Merge pull request #40 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 10/08/2021
2021-10-08 11:13:29 +03:00
Service account 6ab1ee80cb Update versions-manifest 2021-10-08 07:29:44 +00:00
MaksimZhukov 6712407a7f
Merge pull request #39 from nikolai-frolov/helpers-update
Uptake of the latest changes for helpers submodule
2021-10-07 11:08:51 +03:00
Nikolay Frolov 91c89f70d1 Uptake of the latest changes for helpers submodule 2021-10-06 18:10:57 +03:00
MaksimZhukov 13c5817e5c
Merge pull request #37 from Yuriy-Kukushkin/main
Move manifest validation pipeline from Azure DevOps
2021-09-15 14:07:34 +03:00
Yuriy-Kukushkin 38f14f667d
Updated event 2021-09-15 13:58:37 +03:00
Yuriy-Kukushkin 5735a29e98 Updated submodule 2021-09-15 11:16:57 +03:00
MaksimZhukov 25beb00b9f
Merge pull request #38 from actions/update-versions-manifest-file
[versions-manifest] Update for release from 09/10/2021
2021-09-10 10:58:51 +03:00
Service account 260b2b7fbc Update versions-manifest 2021-09-10 07:24:49 +00:00
Yuriy-Kukushkin 187f998b00
Added token 2021-09-09 18:02:16 +03:00
Yuriy-Kukushkin 7dad0a857d
Removed event 2021-09-02 10:12:37 +03:00
Yuriy-Kukushkin bf5a404e5b
Changed test data 2021-09-01 22:19:40 +03:00
Yuriy-Kukushkin 307dc6197a
Added validate-manifest.yml 2021-09-01 22:05:11 +03:00
14 changed files with 2942 additions and 751 deletions

2
.github/CODEOWNERS vendored
View File

@ -1 +1 @@
* @actions/virtual-environments-owners
* @actions/setup-actions-team

View File

@ -1,15 +1,17 @@
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.15.0'
default: '1.19.0'
PUBLISH_RELEASES:
description: 'Whether to publish releases'
type: boolean
required: true
default: 'false'
default: false
pull_request:
paths-ignore:
- 'versions-manifest.json'
@ -18,153 +20,12 @@ on:
branches:
- 'main'
env:
VERSION: ${{ github.event.inputs.VERSION || '1.15.3' }}
defaults:
run:
shell: pwsh
jobs:
build_go:
name: Build Go ${{ github.event.inputs.VERSION || '1.15.3' }} [${{ matrix.platform }}]
runs-on: ubuntu-latest
env:
ARTIFACT_NAME: go-${{ github.event.inputs.VERSION || '1.15.3' }}-${{ matrix.platform }}-x64
strategy:
fail-fast: false
matrix:
platform: [linux, darwin, win32]
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Build Go ${{ env.VERSION }}
run: |
./builders/build-go.ps1 -Version $env:VERSION `
-Platform ${{ matrix.platform }}
- name: Publish artifact
uses: actions/upload-artifact@v2
with:
name: ${{ env.ARTIFACT_NAME }}
path: ${{ runner.temp }}/artifact
test_go:
name: Test Go ${{ github.event.inputs.VERSION || '1.15.3' }} [${{ matrix.platform }}]
needs: build_go
runs-on: ${{ matrix.os }}
env:
ARTIFACT_NAME: go-${{ github.event.inputs.VERSION || '1.15.3' }}-${{ matrix.platform }}-x64
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-latest
platform: linux
- os: macos-latest
platform: darwin
- os: windows-latest
platform: win32
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Fully cleanup the toolcache directory before testing
run: ./helpers/clean-toolcache.ps1 -ToolName "go"
- name: Download artifact
uses: actions/download-artifact@v2
with:
path: ${{ runner.temp }}
- name: Extract files
run: |
if ('${{ matrix.platform }}' -eq 'win32') {
$artifactName = "${{ env.ARTIFACT_NAME }}.zip"
7z.exe x "$artifactName" -y | Out-Null
} else {
$artifactName = "${{ env.ARTIFACT_NAME }}.tar.gz"
tar -xzf $artifactName
}
working-directory: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
- name: Apply build artifact to the local machine
run: |
if ('${{ matrix.platform }}' -eq 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh }
working-directory: ${{ runner.temp }}/${{ env.ARTIFACT_NAME }}
- name: Setup Go ${{ env.VERSION }}
uses: actions/setup-go@v2.1.3
with:
go-version: ${{ env.VERSION }}
- name: Wait for the logs
run: |
Write-Host "Fake step that do nothing"
Write-Host "We need it because log of previous step 'Setup Go' is not available here yet."
Write-Host "In testing step (Go.Tests.ps1) we analyze build log of 'Setup Go' task"
Write-Host "to determine if Go.js version was consumed from cache and was downloaded"
for ($i = 0; $i -lt 200; $i++) { Get-Random }
- name: Run tests
run: |
Install-Module Pester -Force -Scope CurrentUser
Import-Module Pester
Invoke-Pester -Script ./Go.Tests.ps1 -EnableExit
working-directory: ./tests
publish_release:
name: Publish release
if: github.event_name == 'workflow_dispatch' && github.event.inputs.PUBLISH_RELEASES == 'true'
needs: test_go
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v2
- name: Publish Release ${{ env.VERSION }}
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.VERSION }}-${{ github.run_id }}
release_name: ${{ env.VERSION }}
body: |
Go ${{ env.VERSION }}
- name: Upload release assets
uses: actions/github-script@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require('fs');
for (let artifactDir of fs.readdirSync('.')) {
let artifactName = fs.readdirSync(`${artifactDir}`)[0];
console.log(`Upload ${artifactName} asset`);
github.repos.uploadReleaseAsset({
owner: context.repo.owner,
repo: context.repo.repo,
release_id: ${{ steps.create_release.outputs.id }},
name: artifactName,
data: fs.readFileSync(`./${artifactDir}/${artifactName}`)
});
}
trigger_pr:
name: Trigger "Create Pull Request" workflow
needs: publish_release
runs-on: ubuntu-latest
steps:
- name: Trigger "Create Pull Request" workflow
uses: actions/github-script@v3
with:
github-token: ${{ secrets.PERSONAL_TOKEN }}
script: |
github.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'create-pr.yml',
ref: 'main'
});
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

16
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: CodeQL analysis
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
schedule:
- cron: '0 3 * * 0'
jobs:
call-codeQL-analysis:
name: CodeQL analysis
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
with:
languages: '["go"]'

View File

@ -2,32 +2,9 @@ name: Create Pull Request
on:
workflow_dispatch:
defaults:
run:
shell: pwsh
jobs:
create_pr:
name: Create Pull Request
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Create versions-manifest.json
run: |
./helpers/packages-generation/manifest-generator.ps1 -RepositoryFullName "$env:GITHUB_REPOSITORY" `
-GitHubAccessToken "${{secrets.GITHUB_TOKEN}}" `
-OutputFile "./versions-manifest.json" `
-ConfigurationFile "./config/go-manifest-config.json"
- name: Create GitHub PR
run: |
$formattedDate = Get-Date -Format "MM/dd/yyyy"
./helpers/github/create-pull-request.ps1 `
-RepositoryFullName "$env:GITHUB_REPOSITORY" `
-AccessToken "${{secrets.GITHUB_TOKEN}}" `
-BranchName "update-versions-manifest-file" `
-CommitMessage "Update versions-manifest" `
-PullRequestTitle "[versions-manifest] Update for release from ${formattedDate}" `
-PullRequestBody "Update versions-manifest.json for release from ${formattedDate}"
create-pr:
uses: actions/versions-package-tools/.github/workflows/create-pr-to-update-manifest.yml@main
with:
tool-name: "go"
secrets: inherit

View File

@ -4,93 +4,10 @@ on:
- cron: '0 3,15 * * *'
workflow_dispatch:
env:
TOOL_NAME: "Go"
defaults:
run:
shell: pwsh
jobs:
find_new_versions:
name: Find new versions
runs-on: ubuntu-latest
outputs:
versions_output: ${{ steps.Get_new_versions.outputs.TOOL_VERSIONS }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- id: Get_new_versions
name: Get new versions
run: ./helpers/get-new-tool-versions/get-new-tool-versions.ps1 -ToolName ${{ env.TOOL_NAME }}
check_new_versions:
name: Check new versions
runs-on: ubuntu-latest
needs: find_new_versions
env:
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Check Versions
if: env.TOOL_VERSIONS == ''
run: |
Write-Host "No new versions were found"
Import-Module "./helpers/github/github-api.psm1"
$gitHubApi = Get-GitHubApi -RepositoryFullName "$env:GITHUB_REPOSITORY" `
-AccessToken "${{ secrets.PERSONAL_TOKEN }}"
$gitHubApi.CancelWorkflow("$env:GITHUB_RUN_ID")
Start-Sleep -Seconds 60
- name: Send Slack notification
run: |
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
$message = "The following versions of '${{ env.TOOL_NAME }}' are available to upload: ${{ env.TOOL_VERSIONS }}\nLink to the pipeline: $pipelineUrl"
./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
-ToolName "${{ env.TOOL_NAME }}" `
-ImageUrl "https://golang.org/lib/godoc/images/footer-gopher.jpg" `
-Text "$message"
trigger_builds:
name: Trigger builds
runs-on: ubuntu-latest
needs: [find_new_versions, check_new_versions]
env:
TOOL_VERSIONS: ${{needs.find_new_versions.outputs.versions_output}}
environment: Get Available Tools Versions - Publishing Approval
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Trigger "Build go packages" workflow
run:
./helpers/github/run-ci-builds.ps1 -RepositoryFullName "$env:GITHUB_REPOSITORY" `
-AccessToken "${{ secrets.PERSONAL_TOKEN }}" `
-WorkflowFileName "build-go-packages.yml" `
-WorkflowDispatchRef "main" `
-ToolVersions "${{ env.TOOL_VERSIONS }}" `
-PublishReleases "true"
check_build:
name: Check build for failures
runs-on: ubuntu-latest
needs: [find_new_versions, check_new_versions, trigger_builds]
if: failure()
steps:
- uses: actions/checkout@v2
with:
submodules: true
- name: Send Slack notification if build fails
run: |
$pipelineUrl = "$env:GITHUB_SERVER_URL/$env:GITHUB_REPOSITORY/actions/runs/$env:GITHUB_RUN_ID"
$message = "The build of the '${{ env.TOOL_NAME }}' detection pipeline failed :progress-error:\nLink to the pipeline: $pipelineUrl"
./helpers/get-new-tool-versions/send-slack-notification.ps1 -Url "${{ secrets.SLACK_CHANNEL_URL }}" `
-ToolName "${{ env.TOOL_NAME }}" `
-Text "$message" `
-ImageUrl "https://golang.org/lib/godoc/images/footer-gopher.jpg"
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

21
.github/workflows/validate-manifest.yml vendored Normal file
View File

@ -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

View File

@ -1,15 +1,18 @@
# 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.
## Support Notification Policy
Beginning **approximately six months prior** to the removal of a Go version from the [versions-manifest.json](https://github.com/actions/go-versions/blob/main/versions-manifest.json) file, a pinned issue will be created in the [setup-go](https://github.com/actions/setup-go) repository. This pinned issue will provide important details about the upcoming end of support, including the specific date, as well as any other notes, relevant updates or alternatives. We encourage users to regularly check pinned issues for updates on tool versions they are using for maximum transparency, security, performance and overall compatibility with their projects.
## Contribution
Contributions are welcome! See [Contributor's Guide](./CONTRIBUTING.md) for more details about contribution process and code structure

View File

@ -58,7 +58,7 @@ class GoBuilder {
$arch = ($this.Architecture -eq "x64") ? "amd64" : $this.Architecture
$goPlatform = ($this.Platform -Match "win32") ? "windows" : $this.Platform
$ArchiveType = ($this.Platform -Match "win32") ? "zip" : "tar.gz"
If ($this.Version.Build -eq "0") {
If ($this.Version.Build -eq "0" -and $this.Version -lt "1.21.0") {
$goVersion = "go$($this.Version.ToString(2))"
} else {
$goVersion = "go$($this.Version.ToString(3))"

View File

@ -44,7 +44,7 @@ class NixGoBuilder : GoBuilder {
$installationTemplateLocation = Join-Path -Path $this.InstallationTemplatesLocation -ChildPath $this.InstallationTemplateName
$installationTemplateContent = Get-Content -Path $installationTemplateLocation -Raw
$installationTemplateContent = $installationTemplateContent -f $this.Version.ToString(3)
$installationTemplateContent = $installationTemplateContent -f $this.Version.ToString(3), $this.Architecture
$installationTemplateContent | Out-File -FilePath $installationScriptLocation
Write-Debug "Done; Installation script location: $installationScriptLocation)"

View File

@ -1,5 +1,5 @@
{
"regex": "go-\\d+\\.\\d+\\.\\d+-(\\w+)-(x\\d+)",
"regex": "go-\\d+\\.\\d+\\.\\d+-(\\w+)-((x|arm)\\d+)",
"groups": {
"arch": 2,
"platform": 1

@ -1 +1 @@
Subproject commit 1eaa091b6531cad000ee0c4585bfa97d3476b028
Subproject commit 6fbb1f0f2098254142702dba05fe75cd8e77c4ae

View File

@ -1,10 +1,11 @@
set -e
GO_VERSION={0}
ARCH={1}
GO_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/go
GO_TOOLCACHE_VERSION_PATH=$GO_TOOLCACHE_PATH/$GO_VERSION
GO_TOOLCACHE_VERSION_ARCH_PATH=$GO_TOOLCACHE_VERSION_PATH/x64
GO_TOOLCACHE_VERSION_ARCH_PATH=$GO_TOOLCACHE_VERSION_PATH/$ARCH
echo "Check if Go hostedtoolcache folder exist..."
if [ ! -d $GO_TOOLCACHE_PATH ]; then
@ -22,4 +23,4 @@ cp -R ./* $GO_TOOLCACHE_VERSION_ARCH_PATH
rm $GO_TOOLCACHE_VERSION_ARCH_PATH/setup.sh
echo "Create complete file"
touch $GO_TOOLCACHE_VERSION_PATH/x64.complete
touch $GO_TOOLCACHE_VERSION_PATH/$ARCH.complete

View File

@ -1,7 +1,9 @@
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
Import-Module (Join-Path $PSScriptRoot "../helpers/common-helpers.psm1")
BeforeAll {
Describe "Go" {
BeforeAll {
Set-Location -Path "source"
$sourceLocation = Get-Location
@ -18,7 +20,6 @@ BeforeAll {
}
}
Describe "Go" {
It "is available" {
"go version" | Should -ReturnZeroExitCode
}
@ -44,12 +45,25 @@ Describe "Go" {
}
It "cached version is used without downloading" {
if ($env:RUNNER_TYPE -eq "self-hosted") {
# Get the installed version of Go
$goVersion = Invoke-Expression "go version"
# Check if Go is installed
$goVersion | Should -Not -BeNullOrEmpty
# Check if the installed version of Go is the expected version
$installedVersion = $goVersion -split " " | Select-Object -Index 2
$installedVersion = $installedVersion -replace "go", "" -replace "v", ""
$expectedVersion = $env:VERSION -replace ".0", ""
$installedVersion | Should -BeLike "$expectedVersion*"
}else {
# Analyze output of previous steps to check if Go was consumed from cache or downloaded
$useGoLogFile = Get-UseGoLogs
$useGoLogFile | Should -Exist
$useGoLogContent = Get-Content $useGoLogFile -Raw
$useGoLogContent | Should -Match "Found in cache"
}
}
}
It "Run simple code" {
@ -81,4 +95,4 @@ Describe "Go" {
if ($IsWindows) { $compiledPackageName += ".exe" }
(Resolve-Path "./$compiledPackageName").Path | Should -ReturnZeroExitCode
}
}
}

File diff suppressed because it is too large Load Diff