Build with goreleaser #15
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |