name: Validate 'setup-go' on: push: branches: - test-macos-x64-runner paths-ignore: - '**.md' pull_request: paths-ignore: - '**.md' schedule: - cron: 0 0 * * * jobs: stable: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: [macos-14-large] 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: [macos-14-large] 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-14-large] # version: [stable, oldstable] # architecture: [x64, x32] # exclude: # - os: macos-latest # architecture: x32 # - os: macos-14-large # 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-14-large] 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: [macos-14-large] 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: [macos-14-large] 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: [macos-14-large] 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-14-large] 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: [macos-14-large] 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: [macos-14-large] 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-14-large 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