1
0
Fork 0
mirror of https://code.forgejo.org/actions/go-versions synced 2025-06-10 04:22:23 +02:00

commented tests

This commit is contained in:
Nikita Bykov 2020-08-20 14:27:05 +03:00
parent a75b0e4ce5
commit 578a9790af

View file

@ -1,4 +1,4 @@
name: Generate Go.js name: Generate Go package
on: on:
# TODO: currently workflow dispatch endpoint does not work. I will investigate # TODO: currently workflow dispatch endpoint does not work. I will investigate
workflow_dispatch: workflow_dispatch:
@ -18,7 +18,7 @@ env:
jobs: jobs:
build_go: build_go:
name: Build Go ${{ github.event.inputs.VERSION }} ${{ matrix.platform }} name: Build Go ${{ github.event.inputs.VERSION }} [${{ matrix.platform }}]
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
@ -50,86 +50,85 @@ jobs:
name: go-${{ env.VERSION }}-${{ matrix.platform }} name: go-${{ env.VERSION }}-${{ matrix.platform }}
path: /home/runner/work/go-versions/artifact path: /home/runner/work/go-versions/artifact
test_go: # test_go:
name: Test Go ${{ github.event.inputs.VERSION }} ${{ matrix.platform }} # name: Test Go ${{ github.event.inputs.VERSION }} ${{ matrix.platform }}
needs: build_go # needs: build_go
runs-on: ${{ matrix.os }}-latest # runs-on: ${{ matrix.os }}-latest
strategy: # strategy:
fail-fast: false # fail-fast: false
matrix: # matrix:
include: # include:
- os: ubuntu # - os: ubuntu-latest
platform: linux # platform: linux
- os: macos # - os: macos-latest
platform: darwin # platform: darwin
- os: windows # - os: windows-latest
platform: win32 # platform: win32
steps: # steps:
- uses: actions/checkout@v2 # - uses: actions/checkout@v2
with: # with:
submodules: true # submodules: true
- name: Set AGENT_TOOLSDIRECTORY variable # - name: Set AGENT_TOOLSDIRECTORY variable
if: matrix.platform == 'win32' # if: matrix.platform == 'win32'
run: | # run: |
# GitHub Windows images don't have `AGENT_TOOLSDIRECTORY` variable # # GitHub Windows images don't have `AGENT_TOOLSDIRECTORY` variable
echo ::set-env name=AGENT_TOOLSDIRECTORY::$RUNNER_TOOL_CACHE # echo ::set-env name=AGENT_TOOLSDIRECTORY::$RUNNER_TOOL_CACHE
shell: bash # shell: bash
- name: Fully cleanup the toolcache directory before testing # - name: Fully cleanup the toolcache directory before testing
run: | # run: ./helpers/clean-toolcache.ps1 -ToolName "go"
./helpers/clean-toolcache.ps1 -ToolName "go" # shell: pwsh
shell: pwsh
- name: Download artifact # - name: Download artifact
uses: actions/download-artifact@v2 # uses: actions/download-artifact@v2
with: # with:
path: ${{ runner.temp }} # path: ${{ runner.temp }}
- name: Extract files # - name: Extract files
run: | # run: |
if ('${{ matrix.platform }}' -eq 'win32') { # if ('${{ matrix.platform }}' -eq 'win32') {
$artifactName = "go-${{ env.VERSION }}-${{ matrix.platform }}-${{ env.ARCHITECTURE }}.7z" # $artifactName = "go-${{ env.VERSION }}-${{ matrix.platform }}-${{ env.ARCHITECTURE }}.7z"
7z.exe x "$artifactName" -y | Out-Null # 7z.exe x "$artifactName" -y | Out-Null
} else { # } else {
$artifactName = "go-${{ env.VERSION }}-${{ matrix.platform }}-${{ env.ARCHITECTURE }}.tar.gz" # $artifactName = "go-${{ env.VERSION }}-${{ matrix.platform }}-${{ env.ARCHITECTURE }}.tar.gz"
tar -xzf $artifactName # tar -xzf $artifactName
} # }
working-directory: ${{ runner.temp }}/go-${{ env.VERSION }}-${{ matrix.platform }} # working-directory: ${{ runner.temp }}/go-${{ env.VERSION }}-${{ matrix.platform }}
shell: pwsh # shell: pwsh
- name: Apply build artifact to the local machine # - name: Apply build artifact to the local machine
run: | # run: |
if ('${{ matrix.platform }}' -eq 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh } # if ('${{ matrix.platform }}' -eq 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh }
working-directory: ${{ runner.temp }}/go-${{ env.VERSION }}-${{ matrix.platform }} # working-directory: ${{ runner.temp }}/go-${{ env.VERSION }}-${{ matrix.platform }}
shell: pwsh # shell: pwsh
- name: Setup Go ${{ env.VERSION }} # - name: Setup Go ${{ env.VERSION }}
uses: actions/setup-go@v2.1.1 # uses: actions/setup-go@v2.1.1
with: # with:
go-version: ${{ env.VERSION }} # go-version: ${{ env.VERSION }}
- name: Wait for the logs # - name: Wait for the logs
run: | # run: |
Write-Host "Fake step that do nothing" # 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 "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 "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" # Write-Host "to determine if Go.js version was consumed from cache and was downloaded"
shell: pwsh # shell: pwsh
- name: Run tests # - name: Run tests
run: | # run: |
Install-Module Pester -Force -Scope CurrentUser -RequiredVersion 4.10.1 # Install-Module Pester -Force -Scope CurrentUser -RequiredVersion 4.10.1
Import-Module Pester # Import-Module Pester
$pesterParams = @{ # $pesterParams = @{
Path="./Go.Tests.ps1"; # Path="./Go.Tests.ps1";
Parameters=@{ # Parameters=@{
Version="$env:VERSION"; # Version="$env:VERSION";
} # }
} # }
Invoke-Pester -Script $pesterParams -EnableExit -OutputFile "test_results.xml" -OutputFormat NUnitXml # Invoke-Pester -Script $pesterParams -EnableExit -OutputFile "test_results.xml" -OutputFormat NUnitXml
working-directory: ./tests # working-directory: ./tests
shell: pwsh # shell: pwsh
publish_release: publish_release:
name: Publish release name: Publish release
@ -177,8 +176,8 @@ jobs:
asset_name: go-${{ env.VERSION }}-${{ matrix.platform }}-${{ env.ARCHITECTURE }}.${{ matrix.extension }} asset_name: go-${{ env.VERSION }}-${{ matrix.platform }}-${{ env.ARCHITECTURE }}.${{ matrix.extension }}
asset_content_type: application/zip asset_content_type: application/zip
create_pr: trigger_pr:
name: Create Pull Request name: Trigger Pull Request
needs: upload_assets needs: upload_assets
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps: