wings/.github/workflows/build-test.yml

87 lines
2.6 KiB
YAML
Raw Normal View History

2020-11-15 04:42:12 +00:00
name: Run Tests
2020-07-04 21:29:03 +00:00
on:
push:
branches:
- 'develop'
2020-07-04 21:29:03 +00:00
pull_request:
branches:
- 'develop'
2020-07-04 21:29:03 +00:00
jobs:
build:
2020-10-17 21:13:06 +00:00
strategy:
# Default is true, cancels jobs for other platforms in the matrix if one fails
fail-fast: false
matrix:
os: [ ubuntu-20.04 ]
2020-12-06 23:12:41 +00:00
go: [ 1.15.6 ]
2020-10-17 21:13:06 +00:00
goos: [ linux ]
goarch: [ amd64, arm, arm64 ]
runs-on: ${{ matrix.os }}
2020-07-04 21:29:03 +00:00
steps:
- uses: actions/checkout@v2
2020-10-17 21:13:06 +00:00
2020-07-04 21:29:03 +00:00
- uses: actions/setup-go@v2
with:
2020-10-17 21:13:06 +00:00
go-version: ${{ matrix.go }}
2020-12-06 23:12:41 +00:00
- name: Print Environment
id: env
run: |
printf "Go Executable Path: $(which go)\n"
printf "Go Version: $(go version)\n"
printf "\n\nGo Environment:\n\n"
go env
printf "\n\nSystem Environment:\n\n"
env
echo "::set-output name=version_tag::${GITHUB_REF/refs\/tags\//}"
echo "::set-output name=short_sha::$(git rev-parse --short HEAD)"
echo "::set-output name=go_cache::$(go env GOCACHE)"
- name: Build Cache
uses: actions/cache@v2
with:
path: ${{ steps.env.outputs.go_cache }}
key: ${{ runner.os }}-${{ matrix.go }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-${{ matrix.go }}-go
- name: Get Dependencies
run: |
go get -v -t -d ./...
2020-07-04 21:29:03 +00:00
- name: Build
2020-10-17 21:13:06 +00:00
env:
GOOS: ${{ matrix.goos }}
GOARCH: ${{ matrix.goarch }}
CGO_ENABLED: 0
2020-12-06 23:12:41 +00:00
SRC_PATH: github.com/pterodactyl/wings
2020-10-17 20:52:38 +00:00
run: |
2020-12-06 23:12:41 +00:00
go build -v -trimpath -ldflags="-s -w -X ${SRC_PATH}/system.Version=dev-${GIT_COMMIT:0:7}" -o build/wings_${{ matrix.goos }}_${{ matrix.goarch }} wings.go
2020-10-17 21:13:06 +00:00
2020-07-04 21:29:03 +00:00
- name: Test
run: go test ./...
2020-10-17 21:13:06 +00:00
- name: Compress binary and make it executable
2020-07-04 22:10:35 +00:00
if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
2020-10-17 20:52:38 +00:00
run: |
2020-10-17 21:13:06 +00:00
upx build/wings_${{ matrix.goos }}_${{ matrix.goarch }} && chmod +x build/wings_${{ matrix.goos }}_${{ matrix.goarch }}
2020-07-04 21:29:03 +00:00
- uses: actions/upload-artifact@v2
2020-07-04 22:10:35 +00:00
if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
2020-07-04 21:29:03 +00:00
with:
2020-10-17 21:13:06 +00:00
name: wings_${{ matrix.goos }}_${{ matrix.goarch }}
path: build/wings_${{ matrix.goos }}_${{ matrix.goarch }}
2020-10-17 20:52:38 +00:00
- uses: actions/upload-artifact@v2
if: ${{ github.ref == 'refs/heads/develop' || github.event_name == 'pull_request' }}
with:
2020-10-17 21:13:06 +00:00
name: wings_${{ matrix.goos }}_${{ matrix.goarch }}
path: build/wings_${{ matrix.goos }}_${{ matrix.goarch }}