Skip to content

Build with goreleaser #15

Build with goreleaser

Build with goreleaser #15

Workflow file for this run

# This workflow will build a golang project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-go
name: Got
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
test-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.23
- name: Install got with coverage
run: |
go install -cover ./cmd/got
mkdir -p coverage
echo "GOCOVERDIR=$PWD/coverage" >> $GITHUB_ENV
- name: Test init project
run: got init ../foo
- name: Test build project
env:
GP_INJECT_DEBUG: "1"
run: |
Set-PSDebug -Trace 2
cd ../foo
dir .deps/python/lib/pkgconfig
got build -o foo.exe .
got exec dir
$env:PATH=".deps/python;$env:PATH"
$env:PATH
./foo.exe
- name: Test run project
env:
GP_INJECT_DEBUG: "1"
run: |
cd ../foo
got run -v .
- name: Test install project
run: |
cd ../foo
got install -v .
- name: Convert coverage data
run: |
go tool covdata textfmt -i=coverage -o coverage.integration.txt
echo "mode: atomic" > final_coverage.txt
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.integration.txt
flags: integration
name: codecov-umbrella
fail_ci_if_error: true
test:
continue-on-error: true
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-24.04
defaults:
run:
shell: bash
runs-on: ${{matrix.os}}
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: 1.23
- name: Install got with coverage
run: |
go install -cover ./cmd/got
mkdir -p coverage
echo "GOCOVERDIR=$PWD/coverage" >> $GITHUB_ENV
- name: Test init project
run: got init $HOME/foo
- name: Test build project
env:
GP_INJECT_DEBUG: "1"
run: |
set -x
cd $HOME/foo
got exec env
ls $HOME/foo/.deps/python/lib/pkgconfig
got build -o foo .
got exec ls -lh
./foo
- name: Test run project
env:
GP_INJECT_DEBUG: "1"
run: |
cd $HOME/foo
got run -v .
- name: Test install project
run: |
cd $HOME/foo
got install -v .
- name: Convert coverage data
run: |
go tool covdata textfmt -i=coverage -o coverage.integration.txt
echo "mode: atomic" > final_coverage.txt
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.integration.txt
flags: integration
name: codecov-umbrella
fail_ci_if_error: true