ci: add base
This commit is contained in:
+66
-20
@@ -8,30 +8,76 @@ env:
|
||||
RUNNER_TOOL_CACHE: /toolcache
|
||||
|
||||
jobs:
|
||||
test:
|
||||
name: test
|
||||
install-dependencies:
|
||||
name: install dependencies
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup go
|
||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6
|
||||
- name: Install dependencies
|
||||
uses: .gitea/workflows/install-go-dependencies
|
||||
|
||||
build-check:
|
||||
name: build check
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
needs: install-dependencies
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Run build script
|
||||
uses: .gitea/workflows/run-go-script
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
check-latest: true
|
||||
- name: Create cache key
|
||||
id: hash-go
|
||||
run: echo "hash=$(sha256sum go.mod go.sum | sha256sum | cut -d' ' -f1)" >> "$GITHUB_OUTPUT"
|
||||
- name: cache go
|
||||
id: cache-go
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5
|
||||
script: build
|
||||
|
||||
check-format:
|
||||
name: check format
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
needs: build-check
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Run check format script
|
||||
uses: .gitea/workflows/run-go-script
|
||||
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
|
||||
run: make build
|
||||
script: check-format
|
||||
|
||||
check-lint:
|
||||
name: check lint
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
needs: build-check
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Run check lint script
|
||||
uses: .gitea/workflows/run-go-script
|
||||
with:
|
||||
script: check-lint
|
||||
|
||||
test:
|
||||
name: test
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
needs: build-check
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Run test script
|
||||
uses: .gitea/workflows/run-go-script
|
||||
with:
|
||||
script: test
|
||||
|
||||
image-check:
|
||||
name: image check
|
||||
runs-on:
|
||||
- ubuntu-latest
|
||||
- linux_amd64
|
||||
needs: build-check
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Build image
|
||||
run: make build-image
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
name: Install Go Dependencies
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
install-dependencies:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup go
|
||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0.4.0
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
check-latest: true
|
||||
- name: Create cache key
|
||||
uses: .gitea/actions/go-cache-key@main
|
||||
- name: cache go
|
||||
id: cache-go
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
with:
|
||||
path: |
|
||||
/go_path
|
||||
/go_cache
|
||||
key: go_path-${{ steps.hash-go.outputs.hash }}
|
||||
restore-keys: |-
|
||||
go_cache-${{ steps.hash-go.outputs.hash }}
|
||||
@@ -0,0 +1,35 @@
|
||||
name: Run Go Script
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
script:
|
||||
description: The script to run
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
run-script:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
- name: Setup go
|
||||
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
|
||||
with:
|
||||
go-version-file: go.mod
|
||||
check-latest: true
|
||||
- name: Create cache key
|
||||
uses: .gitea/actions/go-cache-key@main
|
||||
- name: Install dependencies from Cache
|
||||
id: cache-go
|
||||
uses: actions/cache@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5
|
||||
with:
|
||||
path: |
|
||||
/go_path
|
||||
/go_cache
|
||||
key: go_path-${{ steps.hash-go.outputs.hash }}
|
||||
restore-keys: |-
|
||||
go_cache-${{ steps.hash-go.outputs.hash }}
|
||||
- name: Run script
|
||||
run: make ${{ inputs.script }}
|
||||
Reference in New Issue
Block a user