mirror of
https://code.forgejo.org/actions/setup-go.git
synced 2024-12-27 15:24:50 -05:00
41dfa10bad
* Update workflows and bump dependencies * Add test for Go 1.22 and 1.23 * Update Go versions in local-cache setup and include macos-latest with ARM64 architecture
209 lines
5.1 KiB
YAML
209 lines
5.1 KiB
YAML
name: Validate 'setup-go'
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
paths-ignore:
|
|
- '**.md'
|
|
pull_request:
|
|
paths-ignore:
|
|
- '**.md'
|
|
schedule:
|
|
- cron: 0 0 * * *
|
|
|
|
jobs:
|
|
stable:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Go Stable
|
|
uses: ./
|
|
with:
|
|
go-version: stable
|
|
- name: Verify Go
|
|
run: go version
|
|
|
|
oldstable:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Go oldStable
|
|
uses: ./
|
|
with:
|
|
go-version: oldstable
|
|
- name: Verify Go
|
|
run: go version
|
|
|
|
aliases-arch:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
|
version: [stable, oldstable]
|
|
architecture: [x64, x32]
|
|
exclude:
|
|
- os: macos-latest
|
|
architecture: x32
|
|
- os: macos-13
|
|
architecture: x32
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Go ${{ matrix.version }} ${{ matrix.architecture }}
|
|
uses: ./
|
|
with:
|
|
go-version: ${{ matrix.version }}
|
|
architecture: ${{ matrix.architecture }}
|
|
- name: Verify Go
|
|
run: go version
|
|
|
|
local-cache:
|
|
name: Setup local-cache version
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-latest, macos-13]
|
|
go: [1.21.13, 1.22.8, 1.23.2]
|
|
include:
|
|
- os: windows-latest
|
|
go: 1.20.14
|
|
exclude:
|
|
- os: windows-latest
|
|
go: 1.23.2
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: setup-go ${{ matrix.go }}
|
|
uses: ./
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
- name: verify go
|
|
run: __tests__/verify-go.sh ${{ matrix.go }}
|
|
shell: bash
|
|
|
|
check-latest:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
|
go-version: ['1.20', '1.21', '1.22', '1.23']
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Go and check latest
|
|
uses: ./
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
check-latest: true
|
|
- name: Verify Go
|
|
run: go version
|
|
|
|
go-version-file:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Go and check latest
|
|
uses: ./
|
|
with:
|
|
go-version-file: __tests__/data/go.mod
|
|
- name: verify go
|
|
run: __tests__/verify-go.sh 1.20.14
|
|
shell: bash
|
|
|
|
go-version-file-with-gowork:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Go and check latest
|
|
uses: ./
|
|
with:
|
|
go-version-file: __tests__/data/go.work
|
|
- name: verify go
|
|
run: __tests__/verify-go.sh 1.21
|
|
shell: bash
|
|
|
|
setup-versions-from-manifest:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [macos-latest, windows-latest, ubuntu-latest, macos-13]
|
|
go: [1.20.14, 1.21.10, 1.22.8, 1.23.2]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: setup-go ${{ matrix.go }}
|
|
uses: ./
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
- name: verify go
|
|
run: __tests__/verify-go.sh ${{ matrix.go }}
|
|
shell: bash
|
|
|
|
setup-versions-from-dist:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows-latest, ubuntu-latest, macos-13]
|
|
go: [1.11.12]
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: setup-go ${{ matrix.go }}
|
|
uses: ./
|
|
with:
|
|
go-version: ${{ matrix.go }}
|
|
|
|
- name: verify go
|
|
run: __tests__/verify-go.sh ${{ matrix.go }}
|
|
shell: bash
|
|
|
|
architecture:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest, macos-13]
|
|
go-version: [1.20.14, 1.21, 1.22, 1.23]
|
|
include:
|
|
- os: macos-latest
|
|
architecture: arm64
|
|
- os: ubuntu-latest
|
|
architecture: x64
|
|
- os: windows-latest
|
|
architecture: x64
|
|
- os: macos-13
|
|
architecture: x64
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Setup Go and check latest
|
|
uses: ./
|
|
with:
|
|
go-version: ${{ matrix.go-version }}
|
|
architecture: ${{ matrix.architecture }}
|
|
- name: Verify Go
|
|
run: go version
|