mirror of https://github.com/knative/func.git
79 lines
2.0 KiB
YAML
79 lines
2.0 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- "main"
|
|
jobs:
|
|
test:
|
|
runs-on: "ubuntu-latest"
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: "1.18"
|
|
- uses: actions/setup-java@v1
|
|
with:
|
|
java-version: '11'
|
|
- name: Check embedded templates content
|
|
run: go test -run "^\QTestFileSystems\E$/^\Qembedded\E$"
|
|
- name: Unit Test
|
|
run: make test
|
|
- name: Template Unit Tests
|
|
run: make test-templates
|
|
- name: Lint
|
|
run: make check
|
|
- name: Check that 'func.yaml schema' is up-to-date
|
|
run: make schema-check
|
|
|
|
build-and-publish:
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: "1.18"
|
|
# Standard build tasks
|
|
- name: Build
|
|
run: make cross-platform
|
|
# Upload all build artifacts
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: OSX Binary (AMD)
|
|
path: func_darwin_amd64
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: OSX Binary (ARM)
|
|
path: func_darwin_arm64
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: Linux Binary (AMD)
|
|
path: func_linux_amd64
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: Linux Binary (ARM)
|
|
path: func_linux_arm64
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: Linux Binary (PPC64LE)
|
|
path: func_linux_ppc64le
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: Linux Binary (S390X)
|
|
path: func_linux_s390x
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: Windows Binary
|
|
path: func_windows_amd64.exe
|
|
publish-image:
|
|
needs: test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/setup-go@v2
|
|
with:
|
|
go-version: "1.18"
|
|
- uses: imjasonh/setup-ko@v0.6
|
|
- run: ko build -B ./cmd/func
|