feat: add CI pipeline #3
43
.gitea/actions/setup_go_from_cache.yaml
Normal file
43
.gitea/actions/setup_go_from_cache.yaml
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
# Re-Usable action that setups go from cache. Can be used in e.g. workflows/ci.yaml
|
||||||
|
# setups go from cache or installs go if not found in cache
|
||||||
|
# also updates the cache
|
||||||
|
|
||||||
|
name: setup_go_from_cache
|
||||||
|
description: 'Setup go from cache'
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
go-version-file:
|
||||||
|
description: 'Path to go version file'
|
||||||
|
required: true
|
||||||
|
check-latest:
|
||||||
|
description: 'Check for latest go version'
|
||||||
|
required: false
|
||||||
|
default: 'true'
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: 'composite'
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Setup go
|
||||||
|
uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version-file: ${{ inputs.go-version-file }}
|
||||||
|
check-latest: ${{ inputs.check-latest }}
|
||||||
|
- name: Create cache key
|
||||||
|
id: hash-go
|
||||||
|
uses: https://gitea.com/actions/go-hashfiles@v0.0.1
|
||||||
|
with:
|
||||||
|
patterns: |
|
||||||
|
go.mod
|
||||||
|
go.sum
|
||||||
|
- name: cache go
|
||||||
|
id: cache-go
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
/go_path
|
||||||
|
/go_cache
|
||||||
|
key: go_path-${{ steps.hash-go.outputs.hash }}
|
||||||
|
restore-keys: |-
|
||||||
|
go_cache-${{ steps.hash-go.outputs.hash }}
|
||||||
@@ -14,28 +14,10 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
- name: Setup go
|
- name: setup_go_from_cache
|
||||||
uses: actions/setup-go@v5
|
uses: ./.gitea/actions/setup_go_from_cache
|
||||||
with:
|
with:
|
||||||
go-version-file: go.mod
|
go-version-file: go.mod
|
||||||
check-latest: true
|
|
||||||
- name: Create cache key
|
|
||||||
uses: https://gitea.com/actions/go-hashfiles@v0.0.1
|
|
||||||
id: hash-go
|
|
||||||
with:
|
|
||||||
patterns: |
|
|
||||||
go.mod
|
|
||||||
go.sum
|
|
||||||
- name: cache go
|
|
||||||
id: cache-go
|
|
||||||
uses: actions/cache@v4
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
/go_path
|
|
||||||
/go_cache
|
|
||||||
key: go_path-${{ steps.hash-go.outputs.hash }}
|
|
||||||
restore-keys: |-
|
|
||||||
go_cache-${{ steps.hash-go.outputs.hash }}
|
|
||||||
- name: build
|
- name: build
|
||||||
run: make build
|
run: make build
|
||||||
- name: test
|
- name: test
|
||||||
|
|||||||
Reference in New Issue
Block a user